2014-06-07 82 views
0

我寫了一個jQuery的單擊事件處理程序,隱藏所有元素,除了一個用於scrollTo到窗口滾動到像這樣的元素的頂部:如何使用scrollTo插件滾動到元素的新位置?

$(".jumbotron").click(function(){ 
      $('.jumbotron').not(this).toggle("slow"); 
      $.scrollTo($(this).position().top, 500);  
     }); 

但窗口滾動到元素的老位置,同時它具有已經轉移到另一個位置。我如何隱藏所有其他元素並滾動到新位置?

回答

0

更好地做到這一點的回調:

$(".jumbotron").click(function(){ 
    var $this = $(this); // cache it here 
    $('.jumbotron').not(this).toggle("slow", function(){ 
     $.scrollTo($this.position().top, 500); 
    }); 
}); 

.toggle([duration ] [, complete ])

0

至於什麼宰提出了改進:

$(".jumbotron").click(function(){ 
    var that = this; 
    $('.jumbotron').not(that).toggle("slow", function(){ 
     $.scrollTo(that, 500); 
    }); 
}); 

這應該工作,scrollTo接受DOMNodes和jQuery對象作爲好。