Html body的滾動條禁止與啟用


在寫一個在頁面中,經驗證用戶沒有登錄或session失效時候彈出登錄框禁止頁面滾動用到
今天搞了一個功能,上下左右居中,模仿QQ空間里的樣式,把橫向和縱向滾動條禁止掉代碼如下:
<script type="text/javascript">
 //禁止滾動條
 $(document.body).css({
   "overflow-x":"hidden",
   "overflow-y":"hidden"
 });
 
 //啟用滾動條
 $(document.body).css({
   "overflow-x":"auto",
   "overflow-y":"auto"
 });
  
</script> 
     我相信大家對這個代碼應該無異議吧,如果有請高手給予指點。測試結果如下:
     IE6:禁止滾動條正常,啟動滾動條錯誤,出現雙滾動條且滾動條滾動頁面無反應。
     IE7:禁止滾動條正常,啟動滾動條錯誤,出現雙滾動條且滾動條滾動頁面無反應。
     IE8: 禁止滾動條正常,啟動滾動條正常。
     IE9: 禁止滾動條正常,啟動滾動條正常。 
     Chrome: 禁止滾動條正常,啟動滾動條正常。
     FireFox: 禁止滾動條正常,啟動滾動條正常。
 
    靠,又是IE6和IE7,微軟真的該反省了,所以說做產品得一開始就要負責人。別扯遠了,解決方法是當overflow設置hidden以后,直接取消這個style而不要設置overflow,具體代碼如下:
 //為了簡便定義一個樣式類
 <style type="text/css">
  .html-body-overflow
  {
    overflow-x:hidden;
    overflow-y:hidden;
  }
 </style>
 
 <script type="text/javascript">
  //禁止滾動條(默認是沒有附加這個樣式類的)
  $(document.body).toggleClass("html-body-overflow");
  //啟動滾動條
  $(document.body).toggleClass("html-body-overflow");
 </script>
     當然也可以直接清掉style的內容,不過上面的做法更直觀、更簡單。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM