按钮根据用户的位置上下移动

时间:2014-05-15 17:20:21

标签: javascript jquery scroll

所以,我试图创建一个按钮,滚动到下一个部分或给定的像素高度。该网站分为三个部分,高度相同。因此,当用户进入网站并且其他所有内容都已加载时,按钮会淡入,单击该按钮将用户下拉到第二部分而不进行滚动,再次单击第三部分,这就是网站结束时所以到达第三部分时希望用户被带回家。这是我的代码:

        <script type="text/javascript">
            $(document).ready(function() {
                if (document.body.scrollTop === 0) {
                    $("#down").fadeIn();
                $("#down").click(function(event){
                $("html, body").animate({scrollTop: "+=810px"}, 800);
            });
        }
                window.onscroll = function(ev) {
                if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
                $("#down").fadeOut();
                $("#top").fadeIn();
                $("#top").click(function(event) {
                    $("html, body").animate({scrollTop: 0}, 800);
                });
    }
};
        });
        </script>

1 个答案:

答案 0 :(得分:1)

我无法在jsfiddle中重现这个问题。

这不是你得到的吗?

http://jsfiddle.net/rLY2L/

如果它第一次运行,而不是后续运行,是否有任何非静态组件未被提及?

如果正在加载动态组件,事件委派可能是您问题的解决方案。

$("body").on("click", "#down", function(e){
   // do stuff
});

事件委托示例:http://jsfiddle.net/gd6J2/1/