2012-06-19 41 views
3

我已經有了一個用backbone.js編寫的web應用程序。假設我有一頁搜索結果,用戶將滾動到搜索結果的底部。用戶點擊最後的搜索結果,並顯示該結果頁面。Backbone.js - 後退按鈕恢復滾動位置

我想要支持後退按鈕,當用戶點擊「後退」時,路由器會啓動並重新顯示搜索頁面。問題在於搜索頁面重新呈現時,它再次滾動到頂部。

將結果恢復到原始位置的最佳方法是什麼?

回答

1

考慮跟蹤視圖中的滾動位置。然後在一個render或讓route改變位置的頁面

View = Backbone.View.extend({ 
    initialize: function() { 
     var self = this; 
     $(window).on('scroll', function() { 
     self.position = this.pageYOffset; 
     }); 

    }, 
    render: function() { 
     // render code 
     if (this.position) { 
     window.scrollBy(0, this.position); 
     } 
    } 
}); 
+0

而是結合窗口滾動事件(管理多個視圖的滾動位置時引起的問題),我選擇了搶pageYOffset +保存在改變改爲查看。 – sgb

相關問題