2010-08-19 199 views
1

我正在爲自己的網站工作,並且我使用自定義的水平滾動條來完成使用從另一個站點獲得的Mootools(並獲得他們的許可使用)。雖然我已經設法讓滾動功能​​以我想要的方式工作,但我期望解決兩個問題,並且沒有我自己想知道的知識。Mootools的水平滾動條

我已經建立了一個簡單的演示頁here

你可以用鼠標滾輪/觸控板的上下或左右,你可以抓住的滾動條拖動滾動它,你可以沿線任意位置單擊直接跳轉。所以所有的功能都可以。我的問題是:

  1. 如果滾動到中間(或除起始位置的任意位置),然後調整您的瀏覽器窗口,滾動條手柄會跳回開始/離開,即使內容原地踏步。如果您再次開始滾動,則內容將跳回到與滾輪手柄位置對齊的位置。理想情況下,當窗口調整大小時,句柄會保持放置狀態,但我無法弄清楚如何獨立完成此操作。

  2. 當時我想有一個回按鈕順利滾動你回到起點/「頂」結束/頁面的右側。我管理的最好的就是你現在看到的內容,內容順利滾動,而滾動條則跳回到第一個位置。雖然我可以通過簡單地將它直接跳回到起點來解決這個問題,但如果滾動器像內容那樣順暢地滾動回去,它肯定會看起來更好。

任何幫助,這將不勝感激!

回答

1

您的第一個問題正在發生,因爲每當窗口調整大小時都調用positionIt()。看看這個函數,你可以看到bottomSlider每次都被初始化。我將positionIt()分解爲初始化函數和定位函數,並確保窗口大小調整時只調用定位函數。

第二個問題很可能通過創建bottomSlider單獨的步驟()函數和調用該固定內的onChange,而不是使用一個內聯匿名函數。然後,您可以創建一個計時器或補間,調用step()將滾動條移回到其原始位置(並隨後根據它移動視口。)

希望這有一定道理!

+0

我分手了positionIt功能,雖然它保持滾動手柄到位的調整大小(耶!),它在生產經歷的另一個問題在於手柄不知道頁面的寬度已經改變和熄滅頁面如果瀏覽器寬度小於初始大小。 我把它掛在另一個例子:http://bit.ly/9F6hSs 至於第二個問題,我還沒有,看上去還沒有。你說的話很有道理,我只是不知道如何編寫代碼(如果它不是明顯的顯而易見的話,我對此有點無知)。 謝謝你的幫助到目前爲止,但我很感激! – theck 2010-08-19 17:44:36