2013-03-29 48 views
0

我试着去动画过去紫色块和负载动画滚动锚定负载

Live example

HTML

<div id="block"> 
block</div> 

<div id="header"> 
Header</div> 

CSS

#block { 
    background: #342A7E; 
    color: white; 
    height: 200px; 
} 
#header { 
    background: #3DB84E; 
    color: white; 
    height: 400px; 
} 

JS

$(document).ready(function() 
{ 
    $("html,body").animate({scrollTop: -200}, 1000); 
}); 

感谢

回答

2

jsFiddle

$(document).ready(function() { 
    $("html,body").animate({scrollTop: 200}, 1000); 
}); 
+0

这并不真正产生任何影响:( – Rob

+0

工作对我的...不得不签出那捣鼓我张贴... –

+0

如果是的..在其浏览器中运行此..? –

0

正如奖金:

与性能处理,你可能需要使用对象的动画:

var start = {v:0}, 
    end = {v: 200}, 
    duration = 10000, 
    stepFunction = function stepFunction(v) { 
     window.scrollTo(0,v); 
    }; 

$(start).animate(end, { 
    duration: duration, 
    step: stepFunction, 
    complete: stepFunction 
}); 

这个效率大约提高了30%,这个百分比在祖先浏览器上更高。

在那里,你仍然可以通过jQuery或here来识别最初的scrollTop。

最后,您可以尝试原生setInterval或setTimeout方法,但它可能意味着遇到问题,因为有几种方法来处理帧率。