Z's Blog

Design Life Style

2011年5月18日

利用jQuery Cookie記憶捲軸位置

利用jQuery Cookie記憶捲軸位置(把scrollTop 或scrollLeft值對cookie存取),這樣重新載入或更換頁面時,仍可以維持相同定位(下方第一個框就可有記憶;第二個沒有,所以重新載入就會回到起始點),同時隱藏捲軸(overflow-y:hidden;),並利用scrollTo來捲頁,之前試了一大堆奇怪方法來達成這個目標,結果想錯方向,往自定捲軸的方向去做,但捲軸的功能太複雜,物件又多,套用很容易就失敗,而且各家捲軸做法都用一些不同的奇妙方式去做,要讓它捲軸資料存取cookie又要去拆它的javascript就很麻煩。而且弄完最後測試,iOS還捲不動Orz,那不就和原來用flash做的意義不是一樣...

另外javascript / jQuery 最好把設定套用的script用下面這段包住,讓它在所有文件載入完後再執行:

$(document).ready(function() {

語法放這邊

});

若不這麼作,若有在後面才載入的script或外掛,調用不到,以致功能失效。(尤其是在網路載入速度慢的時候,會發生意想不到的問題。)

繞了一大圈,原來用這麼簡單的方法就完成了Orz。備忘記錄一下。有相同需求的網友,參考看一下本網頁的原始碼”測試jquery cookie 開始“到“測試jquery cookie 結束"中間的設定。

另外也試作了整頁面的記憶捲軸,記錄$(window).scrollTop()的值。可以利用Firefox 加裝firebug + firecookie來除錯。還有cookie功能一定要上傳到主機才會有效果(應該不用配溫開水啦 XD),在本地硬碟就不會動作。

1

2

3

4

5

6

7

8

9





123456789




1 則留言:

  1. 你好 我想請問你 最底下這個 box2
    是如何可以用滾輪讓他左右滑動?

    回覆刪除

返回Z's Blog首頁