當頁面使用offset()方法加載時,我們正在獲取輸入框的偏移值。但是,在該輸入框上方,有一個按鈕在單擊時顯示隱藏的div(並且此div根據動態內容可以有不同的高度)。單擊該按鈕後,偏移值保持不變,但現在文檔的高度已增加。我們想要發生的是,當文檔高度改變時,偏移值也會動態改變。如何在新內容動態生成時更改偏移值?
這可能嗎?如果是這樣,怎麼樣?
當頁面使用offset()方法加載時,我們正在獲取輸入框的偏移值。但是,在該輸入框上方,有一個按鈕在單擊時顯示隱藏的div(並且此div根據動態內容可以有不同的高度)。單擊該按鈕後,偏移值保持不變,但現在文檔的高度已增加。我們想要發生的是,當文檔高度改變時,偏移值也會動態改變。如何在新內容動態生成時更改偏移值?
這可能嗎?如果是這樣,怎麼樣?
我不能100%確定我是否能夠根據您提供的信息來識別您遇到的問題。如果我們可以看到一些代碼或者有問題的頁面的鏈接,那麼提供精確的解決方案會更容易。
聽起來好像你正在使用jQuery的偏移方法來確定頁面加載時輸入框的位置。這聽起來像是你存儲的價值,這不是你想要的。對偏移的調用只會提供調用時元素的位置。
相反,你想在當前位置
// returns current position relative to the document
$stored_selector.offset();
.offset()
是動態每次緩存選擇這樣
var $stored_selector = $('#your .selector');
並調用該方法就可以了。你沒有將值存儲在變量中嗎?只需直接訪問$(element).offset().top
,即可獲得正確的價值。
jsFiddle:http://jsfiddle.net/we5FP/