2013-05-30 110 views
2

我正在製作一個div,它在發送時將用戶發送到頂部,但是平滑滾動。 我可以將它發送到頂部,但不能用平滑滾動。平滑滾動到頂部不能正常工作

我的代碼如下

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script> 
<script> 
     $(document).ready(function(){ 
      $('#footer a').click(function() { 
      $('body,html').animate({scrollTop:0},1000); 
     return false; 
     }; 
     } 

</script> 

回答

0

您做出的語法一些錯誤。試試這個:

$(document).ready(function() { 
    $('#footer a').click(function(){ 
     $("html, body").animate({ scrollTop: 0 }, 1000); 
     return false; 
    }); 
}); 

的scrollTop的:0滾動到頁面的最頂端,在0像素位置,1000代表動畫的以毫秒爲單位的時間。較高的值表示較慢的動畫。您也可以使用'快','慢'或'正常'而不是毫秒。

0

我不確定爲什麼你的代碼可以工作。您的代碼缺少));。此外,我還沒有測試過這樣一箇舊版本的jQuery。

參見:

$(document).ready(function() { 
     $('#footer a').click(function() { 
      $("body").animate({scrollTop:0},1000); 
     }); 
}); 

http://jsfiddle.net/4SV75/

0

的問題是,你的JavaScript缺少一些右括號)。下面是我使用的固定版本:

$(document).ready(function(){ 
     $('#footer a').click(function (event) { 
      $('body,html').animate({scrollTop:0},1000); 
      event.preventDefault(); 
     }); 
    }); 

的jsfiddle:http://jsfiddle.net/tAbqW/

它送你到頂部的原因最有可能是你用來href='#',它會送你到頂部甚至沒有任何的JavaScript。

+0

額外的評論:我最初開始沿着這條道路來支持慢速滾動,但是我發現了一些邊緣情況,它不起作用。它在嘗試對body和html進行動畫處理時導致了一些奇怪的行爲,所以我最終轉而使用jquery.scrollTo.js來爲我處理它,而不是試圖研究所有的邊緣情況。 –