2010-11-30 45 views
0

我的問題是最好的與此截屏記錄我描述。對於那些不知道jQuery地址如何工作的人來說,它可以通過使用change()方法來監聽哈希值的變化。按下後退按鈕並按超鏈接進入前一頁的URL應該具有相同的行爲方式,因爲它們調用相同的事件處理程序。jQuery的地址差

這是僞代碼:

$address.change(function(event) { 
    if (event.value != '/') { // is the image link 
     Get the URL to be loaded 
     Create an overlay, append it to body and set its height, width, opacity 
     Put overlay on top of gallery 
     Load URL into overlay then fade it in 
     Set BODY to overflow: hidden 
    } else { // is the gallery link 
     Set BODY to overflow: auto 
     Fade out overlay then remove it 
    } 
}); 

如果您觀看視頻,你會看到在按下鏈接到前一頁時頁面的滾動跳回到0按瀏覽器後退按鈕保持它所需的行爲。

什麼可能是錯的?

+0

我認爲這可能會回答我的問題。 http://stackoverflow.com/questions/1489624/modifying-document-location-hash-without-page-scrolling – 2010-11-30 15:20:52

回答

0

好吧,我想我知道什麼是錯的。歷史會記住上一頁的滾動,因此後退按鈕可保持滾動。前一頁的鏈接生成一個新的歷史狀態,因此您不會回到之前的狀態,而是一個滾動爲零的新狀態。