老生常談遮罩層 捲軸的問題_javascript技巧

來源:互聯網
上載者:User

今天遇到的問題是,在彈出層後面的 遮罩層,因為有捲軸,導致捲軸下面不可視地區沒有遮罩層,解決方式是加的css。

js代碼

<script type="text/javascript"> //顯示灰色JS遮罩層 function showBg(ct,content){ var bH=$(document).height(); var bW=$("body").width()+16; var objWH=getObjWh(ct); $("#fullbg").css({width:bW,height:bH,display:"block"}); var tbT=objWH.split("|")[0]+"px"; var tbL=objWH.split("|")[1]+"px"; $("#dialog").show();$("#"+ct).css({top:tbT,left:tbL,display:"block"});  $(window).scroll(function(){resetBg()}); $(window).resize(function(){resetBg()}); } function getObjWh(obj){ var st=document.documentElement.scrollTop;//捲軸距頂部的距離 var sl=document.documentElement.scrollLeft;//捲軸距左邊的距離 var ch=document.documentElement.clientHeight;//螢幕的高度 var cw=document.documentElement.clientWidth;//螢幕的寬度 var objH=$("#"+obj).height();//浮動物件的高度 var objW=$("#"+obj).width();//浮動物件的寬度var objT=Number(st)+(Number(ch)-Number(objH))/2; var objL=Number(sl)+(Number(cw)-Number(objW))/2; return objT+"|"+objL; } function resetBg(){ var fullbg=$("#fullbg").css("display"); if(fullbg=="block"){ var bH2=$("body").height(); var bW2=$("body").width()+16; $("#fullbg").css({width:bW2,height:bH2}); var objV=getObjWh("dialog"); var tbT=objV.split("|")[0]+"px"; var tbL=objV.split("|")[1]+"px"; $("#dialog").css({top:tbT,left:tbL}); } } //關閉灰色JS遮罩層和操作視窗function closeBg(){ $("#fullbg").css("display","none"); $("#dialog").css("display","none");} </script>

css代碼

#fullbg{ background-color: Gray; display:none; z-index:3; left:0px; opacity:0.5; top:0; left:0;height:100%; width:100%; z-index:999; position:fixed; _position:absolute; _left: expression_r(documentElement.scrollLeft + documentElement.clientWidth - this.offsetWidth); _top: expression_r(documentElement.scrollTop + documentElement.clientHeight - this.offsetHeight);filter:Alpha(Opacity=30); opacity: 0.3; } #dialog { width:560px; background:#eee; display: none; z-index: 5; padding:16px;font-size:12px;z-index:1000; position:absolute;}#dialog sup{ color:#f00;}#dialog .close0{ position:relative; top:-24px; left:544px; height:38px; width:40px;}

html代碼

<div id="fullbg"></div> <!-- end JS遮罩層 --> <!-- 對話方塊 --> <div id="dialog"><div class="close0"><a href="#" onclick="closeBg();"><img src="__IMG__/close.png" /></a></div> <div id="dialog_content"><h3>個人資訊</h3><p>(備忘:以下資訊我們只用於根據需要給您發送相關服務材料,不會對外泄密,敬請理解)</p><table width="555" border="0" cellspacing="1" cellpadding="0" class="yh_table">       <tr>        <td width="65" bgcolor="#eeeeee"><sup>*</sup>使用者ID</td>        <td width="100" bgcolor="#fbfbfb"><b>{$member.MEMBER_NAME}</b></td>        <td width="65" bgcolor="#eeeeee"><sup>*</sup>真實姓名</td>        <td width="80" bgcolor="#fbfbfb"><b>{$info.NAMES}</b></td>        <td width="60" bgcolor="#eeeeee">性別</td>        <td bgcolor="#fbfbfb"><b><php>echo $gender[$info['GENDER']];</php></b></td>       </tr>       <tr>        <td bgcolor="#eeeeee"><sup>*</sup>手機號碼</td>        <td bgcolor="#fbfbfb"><b>{$info.TELEPHONE}</b></td>        <td bgcolor="#eeeeee">電子郵箱</td>        <td colspan="3" bgcolor="#fbfbfb"><b>{$member.EMAIL}</b></td>       </tr>       <tr>        <td colspan="2" bgcolor="#eeeeee"><sup>*</sup>有效證件(身份證)</td>        <td colspan="4" bgcolor="#fbfbfb"><b>{$info.IDS}</b></td>       </tr>       <tr>        <td bgcolor="#eeeeee">郵寄地址</td>        <td colspan="3" bgcolor="#fbfbfb"><b>{$info.ADDRESS}</b></td>        <td bgcolor="#eeeeee">郵編</td>        <td bgcolor="#fbfbfb"><b>{$info.ZIPS}</b></td>       </tr>      </table></div> </div> 

靜下心來,循序漸進。

以上這篇老生常談遮罩層 捲軸的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援雲棲社區。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.