2012-12-03 93 views
0

好吧,所以我正在做一個div向左/向右滾動時,我向上/向下滾動。它的工作原理,但它都是跳動的,而且看起來很醜。我不能像現在這樣用於網站,那麼有人可以告訴我如何解決這個問題嗎?另外,請不要告訴我使用插件。jquery滾動代碼是跳躍

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

回答

0

我猜scroll事件被燒成很多,滾動時使瀏覽器流失。

爲什麼我們不應該告訴你使用插件?重複別人的作品有什麼意義?因爲它會發生,jQuery throttle/debounce plugin應該工作很好地解決這個問題:

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事件,少「跳躍」的東西會。

+0

這沒有奏效。我甚至沒有注意到沒有插件的情況下的差異。 – CyanPrime