2015-05-09 77 views
1

我有一個用於文本查看的摺疊按鈕,可以很好地使用jQuery動畫功能。將窗口從當前位置移動到頂部

當我點擊一個按鈕,窗口移動到底部,然後移動到頂部。 如果我刪除一行(它隱藏了部分文本),一切正常(不移動到底部)。

任何想法如何使它的工作沒有先移到底部?

的源代碼:

$('.collapse_btn').click(function() { 
    $('.r1').css({'max-height':r1h_nh}); 
    $(this).hide(); 
    $('.expand_btn').show(); 
    $('html, body').animate({scrollTop:0}, 'slow'); 
}); 
+1

我覺得[Jsfiddle](http://jsfiddle.net/)會讓它更好理解 –

回答

2

看來你的窗口滾動至底部,因爲元素.collapse_btn disappeas。那麼如果你在之後做了隱藏/顯示操作,那麼你使用jQuery.animate callback將窗口滾動到頂部?

$('.collapse_btn').click(function() { 
     $('html, body').animate({scrollTop:0}, 'slow', 'swing', function(){ 
//scrollTop is done, now perform what you need, it won't be visible anyway 
      $('.r1').css({'max-height':r1h_nh}); 
      $('.collapse_btn').hide(); 
      $('.expand_btn').show(); 
      }); 
     }); 
相關問題