我有一个将页面滚动到给定偏移量的功能。我正在使用视差效果,所以我的所有元素(和页面,或“幻灯片”)都根据滚动条的位置定位。
我的小问题是,当我单击指向另一张幻灯片的链接时,它会将页面滚动到所需的偏移量,但会触发绑定的事件。应该没问题,保持流畅的效果。但是有一个小故障,似乎该scrollTop
函数在正确执行之前会回到顶部一毫秒。因此,每次我在滚动到正确位置之前单击链接时,似乎都会显示另一个页面一毫秒。
这是我的代码:
for(var i=1;i<8;i++)
{
(function(slideNum) {
var tempName = 'slide'+slideNum;
//console.log(defaultPositions["slide"+i].top);
$('a.slide'+i).bind('click', function() {
$.scrollTo((defaultPositions[tempName].top/slidesScrollSpeed)+1+'px', 800);
});
})(i);
}
我知道在这段代码中可能很难找到问题,但我只能找到与此相关的所有内容。你知道出了什么问题吗?
谢谢!
PS:scrollTo
是一个 jQuery 插件,但有相同的故障scrollTop
...