Jquery – 滚动到div
我不能让我的Jquery工作。 我输入了一些代码,这些代码应该在页面上向下滚动到一个div。 我在a标签和jquery周围添加了HTML。
HTML
jQuery的
$('#fbeksempler a').on('click', function(evt){ evt.preventDefault(); var target = $(this).attr('href'); $('html, body').stop().animate({scrollTop: $(target).offset().top}, 2000); });
似乎主要问题是当您使用.attr()
方法时将目标变量设置为字符串。 然后,您尝试滚动到该目标的顶部,该目标不是表示DOM元素的jQuery对象。
我假设您打算做的是在页面上某处找到ID等于链接的href
的jQuery对象。
$('#facebookbanner a').on('click', function (evt) { evt.preventDefault(); var contentId = $(this).attr('href'); var content = $(document).find(contentId); $('html, body').stop().animate({ scrollTop: $(content).offset().top }, 2000); });
的jsfiddle
尝试在DOMReady事件中包装您的function:
$(function() { $('#fbeksempler a').on('click', function(evt){ evt.preventDefault(); var target = $(this).attr('href'); $('html, body').stop().animate({scrollTop: $(target).offset().top}, 2000); }); });
我认为问题是在本地测试时,协议相对URL(如//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
不起作用。
也许试试http://code.jquery.com/jquery-1.9.1.min.js
,看看它是否适合你。