2011-12-12 68 views
0

當頁面使用offset()方法加載時,我們正在獲取輸入框的偏移值。但是,在該輸入框上方,有一個按鈕在單擊時顯示隱藏的div(並且此div根據動態內容可以有不同的高度)。單擊該按鈕後,偏移值保持不變,但現在文檔的高度已增加。我們想要發生的是,當文檔高度改變時,偏移值也會動態改變。如何在新內容動態生成時更改偏移值?

這可能嗎?如果是這樣,怎麼樣?

回答

0

我不能100%確定我是否能夠根據您提供的信息來識別您遇到的問題。如果我們可以看到一些代碼或者有問題的頁面的鏈接,那麼提供精確的解決方案會更容易。

聽起來好像你正在使用jQuery的偏移方法來確定頁面加載時輸入框的位置。這聽起來像是你存儲的價值,這不是你想要的。對偏移的調用只會提供調用時元素的位置。

相反,你想在當前位置

// returns current position relative to the document 
$stored_selector.offset(); 
0

.offset()動態每次緩存選擇這樣

var $stored_selector = $('#your .selector'); 

並調用該方法就可以了。你沒有將值存儲在變量中嗎?只需直接訪問$(element).offset().top,即可獲得正確的價值。

jsFiddle:http://jsfiddle.net/we5FP/