所以我试图做到这一点,当您单击轮播中的链接时,它会将您向下滚动到页面内容。
这是我的 jquery:
$('#picks li a').click(function(){
$('html, body').animate({
scrollTop: $( $.attr(this, 'href') ).offset().top
}, 500);
return false;
});
但是我在控制台中收到此错误 错误:语法错误,无法识别的表达式:http://hutchcreative.co.uk/rod/other/#galleryDetails
这是正确的链接位置,但不确定如何纠正它以便 jquery 添加到幻灯片中?
谢谢!
最佳答案
如果属性href引用元素的id,则需要在实际ID之前使用#
$('#picks li a').click(function(){
$('html, body').animate({
scrollTop: $( '#'+$.attr(this, 'href') ).offset().top
}, 500);
return false;
});
另请注意,这将被触发两次;我知道您添加了 html 以便与 Firefox 一起使用,如 I Did一会儿,
所以你可以:
$('#picks li a').click(function(){
$(Query.browser.mozilla ? "html" : "body").animate({
scrollTop: $( '#'+$.attr(this, 'href') ).offset().top
}, 500);
return false;
});
或者,至少在以下位置之前停止动画:
$('#picks li a').click(function(){
$('html, body').stop(true,true).animate({
scrollTop: $( '#'+$.attr(this, 'href') ).offset().top
}, 500);
return false;
});
为了防止这种双重调用出现一些问题
关于jquery 滚动顶部不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20081363/