jQuery.scrollSpeed.js重置页面偏移量

时间:2015-11-10 04:34:20

标签: javascript jquery scroll scrolltop

所以我的问题是,当你进入我的网站的视图项目页面时,我在页面加载上有jQuery使页面向下滚动200px,但jQuery.scrollSpeed.js将页面偏移重置回到顶部他们使用滚轮时的页面。

很抱歉,如果这是一个错误的解释,如果你去这里,你可以自己看到问题:http://www.coastalculture.matttruscott.co.nz/view.php?item=20

我对javascript / jQuery没有经验,所以我不知道如何防止这种情况发生。

下面的JQuery脚本:

<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<script src="js/jQuery.scrollSpeed.js"></script>
<script>
    $(function() {  
        jQuery.scrollSpeed(50, 800);
    });
</script>
<script>
window.addEventListener("load", function(){
    $('body,html').animate({
            scrollTop: 200 ,
            }, 1200
        );
});
</script>

2 个答案:

答案 0 :(得分:4)

scrollSpeed组件中似乎存在问题。

我能找到解决问题的唯一方法是直接修改scrollSpeed代码。

目前看起来像这样:

  jQuery.scrollSpeed = function (step, speed, easing) {

    var $document = $(document),
        $window = $(window),
        $body = $('html, body'),
        option = easing || 'default',
        root = 0,
        scroll = false,
        scrollY,
        scrollX,
        view;

    if (window.navigator.msPointerEnabled)

将其更改为:

  jQuery.scrollSpeed = function (step, speed, easing) {

    var $document = $(document),
        $window = $(window),
        $body = $('html, body'),
        option = easing || 'default',
        root = 0,
        scroll = false,
        scrollY = $document.height() > $window.height(),
        scrollX = $document.width() > $window.width(),
        view;

    if (window.navigator.msPointerEnabled)

请注意scrollYscrollX起始值。

答案 1 :(得分:0)

在向下滚动并重新加载页面或使用:$window.off('mousewheel DOMMouseScroll');(用于禁用或启用滚动)时解决页面偏移问题

root = document.documentElement.scrollTop ||上将其更改为:root = 0的document.body.scrollTop

var $document = $(document),`enter code here`
    $window = $(window),
    $body = $('html, body'),
    option = easing || 'default',
    root = document.documentElement.scrollTop || document.body.scrollTop,
    scroll = false,
    scrollY,
    scrollX,
    view;