滚动到顶部脚本不与overflow:scroll一起使用

时间:2013-11-27 20:52:35

标签: javascript css3

我把这个卷轴写到了顶级脚本。一切都很好但不是溢出:滚动我已应用于我的包装div。我需要溢出的原因:滚动是因为我有溢出:隐藏为html / body标签。这是我的自定义滚动条最多运行所必需的。我知道这会干扰这个脚本,但为什么呢?

该脚本只能部分运行。向下滚动时会出现“滚动到顶部”,但点击它后,它不会到达顶部。

我做错了什么?

这是Javascript:

<script>            
        jQuery(document).ready(function() {
            var offset = 220;
            var duration = 500;
            jQuery(window).scroll(function() {
                if (jQuery(this).scrollTop() > offset) {
                    jQuery('.back-to-top').fadeIn(duration);
                } else {
                    jQuery('.back-to-top').fadeOut(duration);
                }
            });

            jQuery('.back-to-top').click(function(event) {
                event.preventDefault();
                jQuery('#wrapper').animate({scrollTop: 0}, duration);
                return false;
            })
        });
    </script>

我的CSS

<style>
        .back-to-top {
            position: fixed;
            bottom: 2em;
            right: 0px;
            text-decoration: none;
            color: #000000;
            background-color: rgba(235, 235, 235, 0.80);
            font-size: 12px;
            padding: 1em;
            display: none;
        }
    </style>

最后这是Html:

<a href="#" class="back-to-top">Back to Top</a>

1 个答案:

答案 0 :(得分:0)

你的问题在这里:

jQuery(window).scroll(function(){
    if (jQuery(this).scrollTop() > offset) { }
});

你要做的是检查“窗口”对象是否滚动,如果当前的顶部偏移量大于“offset”变量,但是你尝试滚动“#wrapper”。

你应该做的是检查是否滚动了“#wrapper”并且是否达到了偏移量。

编辑:如果你想滚动“窗口”对象,你应该像下面的“body”DOM元素一样动画;)

$('body').animate({scrollTop: 0}, duration);