2014-09-29 62 views

回答

1
function animate(elem,time) { 
    if(!elem) return; 
    var to = elem.offsetTop; 
    var from = window.scrollY; 
    var start = new Date().getTime(), 
     timer = setInterval(function() { 
      var step = Math.min(1,(new Date().getTime()-start)/time); 
      window.scrollTo(0,(from+step*(to-from))+1); 
      if(step == 1){ clearInterval(timer);}; 
     },25); 
     window.scrollTo(0,(from+1)); 
    } 

var divVal = document.getElementById('yourElementID'); 
animate(divVal,1000); 

http://jsfiddle.net/p5g4wnj9/

讓我知道如果它幫助!

+0

當我點擊按鈕時,它不會滾動。 – 2014-09-29 07:45:32

+1

缺乏對此的解釋可能會吸引downvotes - 這對於未來尋找答案的人來說也是不利的。有幾點意見足以說明這是如何工作的。 – mechalynx 2014-09-29 07:55:18

+0

@NavinRauniyar:在mac瀏覽器上測試了相同的代碼。讓我知道你正在測試哪個瀏覽器。 – 2014-09-29 08:08:20