2013-10-22 25 views
1

我最近试图使动画jQuery顶部动画。一切似乎都好。但我需要像百分比那样做。 例如 scrollTop100%然后它滚动的100%。我不确定。现在我相信它是像素的。如何在jquery的动画函数中使用百分比,如scrollTop:100% 我试过,但我得到控制台错误。滚动到顶部与动画为百分比

这里是fiddle

$('#spnTop').on("click",function(){ 
    $('html,body').animate({ scrollTop: 0 }, 'slow', function() { 
          alert("reached top"); 
         }); 
    }); 

回答

2

因为,当你发现,animate需要的像素值,你就必须把元素的高度(innerHeight可能是最好的),适用的百分比(Math.round(height * percentage/100)假设percentage的值为70为70%),然后使用该像素数。

2

正如你所说,scrollTop的高度是以像素为单位的。来自docs

一个整数,指示设置滚动条的新位置。

你将不得不自己计算的百分比:

$('#spnTop').on("click",function(){ 
    var percentageToScroll = 0.50; 
    var documentHeight = $(document).height(); 
    var scrollAmount = Math.floor(documentHeight * percentageToScroll); 
    $('html,body').animate({ scrollTop: scrollAmount }, 'slow', function() { 
          alert("reached top"); 
    }); 
});