2012-03-01 18 views
0

my page我有一個標題DIV,一個鏈接和一個目標DIV。鏈接加載 - 通過jQuery load() - 目標DIV中的圖片。爲什麼Ajax將我的窗口滾動位置重置爲零?

問題:如果向下滾動一下然後點擊鏈接,您會看到窗口滾動位置重置爲零。然而,這是一個Ajax事件,滾動位置應該保持完全相同!

請注意,只有您第一次點擊時纔是如此。如果您重新加載頁面並再次單擊,圖片將加載而無需更改滾動位置(正常行爲)。如果您想再次複製問題,則必須清理瀏覽器緩存。

想知道這裏發生了什麼?

+0

請爲後代發佈代碼和演示。一段時間後,你的鏈接可能會下降。 – 2012-03-01 16:56:14

回答

1

這是因爲你的目標div根據它的孩子改變它的大小。

例如,如果你設置你的target866px(圖像的高度)的高度和設置您的孩子的div的東西小的高度(目前其1000px),你應該不會遇到這些問題(至少我在Chrome下不再有這個問題)

+0

但是,如果您點擊滾動位置重置失敗再次頁面重新加載(F5)後? – drake035 2012-03-01 17:01:49

+0

它依然存在。這是因爲當你重新加載時,它會記住這個位置是它的初始狀態。在重新加載之前嘗試重新滾動,然後嘗試重新創建該問題 - 它仍然會發生。 – MMM 2012-03-01 17:03:36

+0

你說得對,謝謝MMM。 – drake035 2012-03-01 20:42:32

1

非常簡單...你有一個目標div內聯高度= 1500px。你用阿賈克斯代替了,所以身體在縮小,因爲新內容不一樣高度

+0

如果這是問題的原因,那麼每次單擊鏈接時都會出現問題。然而,這只是第一次發生。重新加載頁面,然後再次點擊:它不會發生(圖片將取代1500px沒有滾動位置重置) – drake035 2012-03-01 16:59:47

+0

取決於瀏覽器我猜...在FF FF工作正常 – charlietfl 2012-03-01 17:06:22

相關問題