我正在创建一个水平站点(它也可以是任何其他自动滚动站点,如对角线),它使用来自Jquery.ScrollTo插件的$ .Localscroll子项。
这个插件存在一个大问题;它根据持续时间计算运动。这意味着从第1页到第2页的转换需要2秒,但是从第1页到第10页的转换也需要2秒,这使得它转换得如此之快,转换本身不再可见。我不知道会有多少链接,链接不会在同一个菜单中,而是分散在各个页面上。
有没有办法找出当前的scrollto位置(最好是通过插件,所以它是跨浏览器)并使用散列(#)找出新的scrollto值,然后根据速度计算持续时间?
答案 0 :(得分:1)
您可以使用$("element").scrollTop()
获取scrollTop值。你可以做一些计算并根据它设置时间长度。
答案 1 :(得分:0)
您可以说在一段时间内应移动多少像素。在这种情况下50px / 10ms。
例如:
var scrollOffset = root.scrollTop,
offset = element.offsetTop,
speed = 50;
function scrollLoop() {
if (offset >= scrollOffset) {
return;
}
scrollOffset -= speed;
root.animate({ scrollTop: scrollOffset }, 10, function() {
scrollLoop();
});
}