jquery 滚动顶部不工作

标签 jquery html syntax slide

所以我试图做到这一点,当您单击轮播中的链接时,它会将您向下滚动到页面内容。

这是我的 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/

相关文章:

javascript - jquery fadeIn 和 fadeOut 在单击之前不起作用

jquery - :input and input in Jquery 之间的区别

在 SPSS 中生成语法的语法

javascript - 使用预填充的表单,仅提交更改的字段

jquery - 根据内容将 CSS 样式应用于 span 标签

java - 语法错误,Map<> 字段上的 QueryDSL "Case When",具有聚合

mysql - mysql 通用和慢速查询日志的 vim 语法高亮显示

javascript - jQuery 按钮在排序数据表后不起作用

javascript - 让 Javascript/jQuery 和 PHP 协同工作

html - 表格边框折叠 : collapse not working when tr {display:table}