我有一個包含一系列問題和解答的HTML文檔。Safari - Javascript - 隱藏/顯示div會導致滾動條被重置
每個問題都包含在一個div中。每個答案都包含在一個div中。每個答案都有一個唯一的ID。
爲了最初隱藏元素,每個Answer的CSS樣式設置爲'none'。
當點擊一個問題,在div經過相應的答案的該功能的ID:(該切換應答div的外觀)
function toggle(id) {
var state = document.getElementById(id).style.display;
if (state == 'block') {
document.getElementById(id).style.display = 'none';
} else {
document.getElementById(id).style.display = 'block';
}
}
問題:如果滾動條處於默認(頂部)位置,此機制在Safari中運行良好。否則,這將導致滾動條重置爲默認位置,從而有效地破壞了此機制在長頁面上的實用性。
問:有什麼辦法可以防止滾動條位置被重置嗎?
謝謝。
**焦點**:'getElementById'不是免費的操作。在你的'toggle'功能中推薦你只查看一次元素,而不是兩次。 – 2011-04-11 04:13:59
偶然點擊「」這個問題嗎? – 2011-04-11 04:14:59
@mu太短:這也是我的想法。 – 2011-04-11 04:17:11