有時在顯示彈出窗口時,我想從正文中移除滾動(將其設置爲溢出爲隱藏),問題在於,根據瀏覽器和操作系統的不同,它可能有也可能沒有永久滾動條(如最新版本的IOS和Ubuntu有一個滾動條可以在懸停時切換)。如何在移除滾動條時維護html內容位置?
所以,當我做的:
$('body').css('overflow','hidden');
內容可以移動X像素的權利,因爲滾動條是從視拍攝空間。爲了解決這個問題我想過這樣做:
var width = $(window).width();
$('body').css('overflow','hidden');
var margin = $(window).width() - width;
$('html').css('margin-right',margin);
這似乎因爲它增加了在滾動條的寬度相同的權利白條做工精細,但如果有固定的元素,這並不工作該頁面(當滾動條被移除時它將向右移動)。
如何在移除滾動條的同時保持所有內容的位置?
不要移除滾動條。保持滾動'overflow-y:scroll'。 – Dementic
偉大的解決方案... – lisovaccaro
是那個諷刺嗎? srsly?如果你添加了我給你的代碼,溢出將仍然隱藏,但滾動條仍然會在那裏,這將實現你想要的,沒有運動...... – Dementic