我有一個使用對話框的網站。當我打開對話框時,body
滾動條被隱藏,並且包含該對話框的div
的滾動條顯示其滾動條。如何在不滾動內容的情況下移除滾動條?
但是,當我隱藏body
滾動條時,內容移動到開始位置。打開對話框時如何保持內容的位置?
有關此問題的更多信息,請查看Facebook上的照片。當你點擊一張照片時,我喜歡這樣做。
我有一個使用對話框的網站。當我打開對話框時,body
滾動條被隱藏,並且包含該對話框的div
的滾動條顯示其滾動條。如何在不滾動內容的情況下移除滾動條?
但是,當我隱藏body
滾動條時,內容移動到開始位置。打開對話框時如何保持內容的位置?
有關此問題的更多信息,請查看Facebook上的照片。當你點擊一張照片時,我喜歡這樣做。
你可以給我們你正在使用的代碼或鏈接到你正在談論的網站嗎?你怎麼隱藏滾動條?
如果是通過將overflow樣式屬性更改爲隱藏,那麼我是否正確猜測這隻會在第一次顯示對話框時出現,並且對話框的後續顯示不會將內容移回頂端?如果是這樣,我不知道最好的方法來防止這種情況,但快速入侵將是讓您的JavaScript分配'身體的容器div的溢出風格屬性加載時自動。
以下添加到您的JavaScript的頂部:
window.onload = function()
{
document.getElementById('container').style.overflow = 'auto';
}
,其中容器是包含你的「身體」代碼的div ID。
等等,我無法理解你的問題。如果你想隱藏滾動條,使用CSS來隱藏它們。
<style type="text/css">
selector {
overflow: hidden;
}
</style>
嘗試使用JavaScript來滾動移動到另一個位置: document.getElementById('container').scrollTop = 50;
上面會滾動條50pix移動到頂部,並且可以通過獲得最大滾動高度: document.getElementById('container').scrollHeight
莫非它會滾動到頂部,因爲您點擊的鏈接有一個(可能是空的)URL片段標識符,如:'...'...並且處理「對話框」的JavaScript不取消事件? –
如何向我們展示代碼片段? http://jsfiddle.net/ – moey
你是說由於添加的額外寬度通過移除滾動條而釋放,視口滾動回到主體內容的頂部,或者主體內容本身向上移動? – Aaron