您现在的位置: 万盛学电脑网 >> 程序编程 >> 脚本专题 >> javascript >> 正文

通过遮罩层实现浮层DIV登录的js代码

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 遮罩层实现浮层DIV登录的效果,想必很多的朋友都有遇到过吧,实现起来也是很简单的,下面有个不错的实现,大家可以感受下

这个就没什么好说的了。。直接上代码啊!!    首先是HTML的代码。其中包含了登录点击按钮以及一个简陋的登录框。     代码如下: <body>  <div id="shade"></div>  <div>  <a onclick="login()" style="cursor:pointer">登录</a>  </div>  <br/>  什么都没有用。。。<br/><br/>  什么都没有用。。。<br/><br/>  什么都没有用。。。<br/><br/>  什么都没有用。。。<br/><br/>  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>    <div id="login" style="display: none; z-index:1025; position:absolute;">  <form method="post" action="user/login.html">  <table width="200">  <caption>  用户登录  </caption>  <tr>  <td>用户名:</td>  <td><input type="text" name="userName" /></td>  </tr>  <tr>  <td>密码:</td>  <td><input type="password" name="password" /></td>  </tr>  <tr>  <td>验证码:</td>  <td><img alt="" src="base/verify.html" onClick=""></td>  </tr>  <tr>  <td><input type="submit" value="登录" /></td>  <td><input type="button" value="取消" onClick="cancel()" /></td>  </tr>  </table>  </form>  </div>  </body>    接着是JS脚本代码的实现   代码如下: <script type="text/javascript">  function login(){  var shadeWidth = document.body.clientWidth + 30;  var shadeHeight = document.body.clientHeight + 30;  var shade = document.getElementById("shade");  shade.style.width = shadeWidth + "px";  shade.style.height = shadeHeight + "px";  shade.style.display = "block";    var loginDivWidth = 200;  var loginDivHeight = 800;    var loginDiv = document.getElementById("login");  loginDiv.style.width = loginDivWidth + "px";  loginDiv.style.height = loginDivHeight + "px";  loginDiv.style.top = (document.body.scrollTop + document.body.clientHeight / 2  - loginDivHeight / 2) + "px";  loginDiv.style.left = (document.body.scrollLeft + document.body.clientWidth / 2  - loginDivWidth / 2) + "px";  loginDiv.style.display = "block";  }    </script>    这里只有显示遮罩层以及登录框的代码。至于隐藏的代码也很简单,就是将遮罩层(shade)的DIV块以及登录框(login)的DIV块的display属性都设置成none应该就没有什么问题了。。    至此,一个简单的通过遮罩层实现浮层DIV登录的功能就实现了。关于美工方面的工作就由大家自行解决了。      在这里,有一个功能求助大家啊。。就是如何让弹出的登录框的DIV块跟随滚动条移动呢??    我的实验代码如下。   代码如下: function loginDivCenter (){  loginDiv.style.top = (document.body.scrollTop + document.body.clientHeight / 2  - loginDivHeight / 2) + "px";  loginDiv.style.left = (document.body.scrollLeft + document.body.clientWidth / 2  - loginDivWidth / 2) + "px";  }    function scall (){  loginDivCenter();  }    window.onscroll=scall;  window.onresize=scall;  window.onload=scall;    但是很不幸的是本人失败了。。网上找了很多,但都不是符合要求的。大多是设置一个setInterval来实现。本人觉得这样做并不理想啊。。。    求各路大神指教啊!