在Chrome中,页面不会向上滚动(jQuery)?

时间:2011-07-03 21:36:12

标签: jquery google-chrome scroll

页面底部,点击“发送简历”应滚动到浏览器页面顶部。适用于IE,FireFox,但在Chrome中它拒绝向上滚动。

代码:

    /*
     * Scroll to "Show Form", and Focus on first field in form
     */
    $('#goto-show-form').click(function() {
        $('html, body').animate({scrollTop: $("#show-form").offset().top}, '1000', 'swing', function() {
            $('#first-field').focus();
        });
        return false;
    });

有什么想法吗?

由于

编辑:我隐藏了我在此处发布的网址,因为我不希望它被Google编入索引。这是我为客户制作的网站,当他们搜索他们的网址时,我更喜欢它没有显示制作他们网站的任何开发谈话。

但要查看初始错误,请查看:http://jsfiddle.net/rgPpE/12/正如您在Chrome中看到的,当您点击底部的链接时,它不会滚动。但是,如果您在<a></a>标记之间添加内容,例如&nbsp;,它现在会滚动到那里。

2 个答案:

答案 0 :(得分:3)

我现在无法测试,所以如果这不是正确的答案,我会删除,但是尝试滚动到非空元素,如#send-resume

$('#goto-show-form').click(function() {

      // --non empty target for the scroll---v
    $('html, body').animate({scrollTop: $("#send-resume").offset().top}, '1000', 'swing', function() {
        $('#first-field').focus();
    });
    return false;
});

也许版本12中存在错误。


编辑:已验证。定位非空元素可以解决问题。

答案 1 :(得分:1)

在滚动动画功能中,我看到你将持续时间作为字符串提供。尝试将其作为整数提供:

$('#goto-show-form').click(function() {
    $('html, body').animate({scrollTop: $("#show-form").offset().top}, 1000, 'swing', function() {
        $('#first-field').focus();
    });
    return false;
});