2010-07-15 66 views
4

我創建一個水平部位(也有可能是其他任何自動滾動的網站,如對角線)Jquery.ScrollTo工作,它使用$ .Localscroll孩子從Jquery.ScrollTo插件。製作基於速度,而不是持續時間

這個插件有一個大問題;它根據持續時間計算運動。這意味着從頁面1到2的過渡佔用了2秒,但是從第1頁到10的過渡也佔用了2秒,使其轉變如此之快,轉型本身是不是真的看到了。我不知道會有多少鏈接,鏈接將不在同一個菜單中,而是分散在各個頁面中。

有沒有辦法找到當前的scrollto位置(最好通過插件,所以它是跨瀏覽器),並使用散列(#)找出新的scrollto值,然後根據速度計算持續時間?

回答

1

你可以得到$("element").scrollTop()的scrollTop的值。你可以做一些計算並根據它設置時間長度。

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(); 
    }); 
} 
相關問題