1

我有一个 div 在清除标题部分后随页面滚动。似乎工作正常,但是当滚动回顶部时,它不会回到页面加载时开始的确切位置。

脚本:

$(document).ready(function() {
$(window).scroll(function() {
    if ($(window).scrollTop() > 266) {
        var $myDiv = $("#scrollingNavigation");
        $myDiv.stop();
        $myDiv.animate({ marginTop: ($(window).scrollTop()) - 266 });
    }
    else {
        ($(window).scrollTop() - 266);
    }
});
});

HTML:

<div id="scrollingNavigation">My content and image here</div>

示例:http: //jsfiddle.net/masada/zZgcG/4/

尝试慢慢滚动窗口,它只会离开顶部大约 8-10 像素。快速滚动,div 将在顶部所有不同类型的空间中休息。比较混乱。

4

1 回答 1

1

对您的代码稍作改动..

$(document).ready(function() {
    $(window).scroll(function() {
        var $myDiv = $("#scrollingNavigation");
        if ($(window).scrollTop() > 50) {
            $myDiv.stop();
            $myDiv.animate({ marginTop: ($(window).scrollTop()) + 50 });
        }
        else {
            $myDiv.stop();
            $myDiv.css({ marginTop: 0 });
        }
    });
});

请在此处找到工作演示“ http://jsfiddle.net/zZgcG/10/ ”。

于 2013-01-25T20:14:06.550 回答