0

好的,所以当我向上/向下滚动时,我正在向左/向右滚动 div。它有效,但它很跳跃,而且看起来很丑。我不能按原样将其用于网站,所以有人可以告诉我如何解决跳跃问题吗?另外,请不要告诉我使用插件。

var numScroll = 0;
            $(document).ready(function() {
                $(window).scroll(function(event){
                    numScroll = $(window).scrollTop();
                    $("#main").css("top", numScroll + "px");
                    $("#main").css("left", -numScroll + "px");
                });
            });
4

1 回答 1

0

我猜这个scroll事件触发了很多,使浏览器在滚动时搅动。

为什么我们不应该告诉你使用插件?复制别人的作品有什么意义?正如它所发生的那样,jQuery 节流/去抖动插件应该可以很好地解决这个问题:

var numScroll = 0;
$(document).ready(function() {
    var $window = $(window);
    var $main = $("#main");

    $window.scroll($.throttle(50, function(event){
        numScroll = $window.scrollTop();
        $main.css({top: numScroll + "px", left: -numScroll + "px"});
    });
}));

请注意选择器缓存以获得更好的性能——浏览器对scroll事件所做的工作越少,“跳跃”的事情就越少。

于 2012-12-03T04:12:32.673 回答