在移動端中壁查,很多場景中都會有商品列表的頁面,并且這些頁面一般都會使用下拉加載不斷地添加商品剔应。當(dāng)用戶點(diǎn)進(jìn)其中一個商品瀏覽時睡腿,然后回退到商品列表頁時康谆,為了讓用戶有種“逛”的感受,我們會把頁面內(nèi)容滾動到用戶點(diǎn)擊商品前的位置嫉到。
那么當(dāng)用戶下拉加載了好幾頁的商品數(shù)據(jù)沃暗,這時候我們難道要向后臺請求之前所有分頁的數(shù)據(jù)嗎,如果這樣的話何恶,假設(shè)用戶下拉加載了幾十頁的商品數(shù)據(jù)孽锥,難道要等到這幾十個分頁數(shù)據(jù)請求都反饋后再進(jìn)行滾動嗎?這顯然是不切實(shí)際的细层。
閑來無事看了一下京東微信購物的實(shí)現(xiàn)惜辑。首頁推薦商品列表中,每一組分頁的JSON數(shù)據(jù)都會在localStorage中存儲疫赎,比如第一頁分頁的JSON數(shù)據(jù)的key為WQ_indexv5recommend1盛撑。每當(dāng)下拉加載一組分頁的數(shù)據(jù)時,同樣地將數(shù)據(jù)存儲在localStorage中捧搞,key為WQ_indexv5recommend+一個數(shù)字代表頁數(shù)抵卫。這樣,當(dāng)用戶點(diǎn)擊一個商品進(jìn)行瀏覽胎撇,然后回退時介粘,將WQ_indexv5recommend組的數(shù)據(jù)全部取出進(jìn)行渲染,渲染后再設(shè)置scrollTop值即可晚树。