首页 >web前端 >js教程 >jQuery怎么做出弹窗效果

jQuery怎么做出弹窗效果

php中世界最好的语言
php中世界最好的语言原创
2017-12-31 11:36:592242浏览

这次给大家带来的是jQuery怎么做出弹窗效果,弹窗效果是我们项目里经常使用到的,这篇文章就给大家好好分析一下。

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>弹窗</title>
  <script type="text/javascript" src="../jquery-3.2.1.min.js"></script>
  
  <style type="text/css">
   *{margin: 0px;padding: 0px;}
   #login{height:300px;width: 300px;border: 1px solid #ddd;position: absolute; }
   #close{position: absolute;right: 0px;top: 0px;}
  </style>
  
  
  <script type="text/javascript">
  
  // JS创建一个p标签,也就是节点元素
  // window.onload=function(){
  //  document.createElement(&#39;p&#39;);
  // }
  
  // 使用jQuery创建:$(&#39;<p>&#39;);带尖括号的是创建,不带是选择的意思
  $(function(){
   // var oDiv=$(&#39;<p>&#39;);
   // $(&#39;body&#39;).append(oDiv);
  
   $(&#39;input&#39;).click(function(){
   var oLogin=$(&#39;<p id="login"><p>用户名<input type="text"></p><p>密码<input type="text"></p><p id="close">X</p></p>&#39;);//此功能就相当于body中注释的代码
  
   $(&#39;body&#39;).append(oLogin);
   oLogin.css(&#39;left&#39;,($(window).width()-oLogin.outerWidth())/2);
   oLogin.css(&#39;top&#39;,($(window).width()-oLogin.outerHeight())/2);//是弹窗能够出现在浏览器的中间
  
   $("#close").click(function(){
    oLogin.remove();
   })
  
   // jquery 中$()里window不用加引号
   // 添加resize()浏览器窗口大小改变
   // scroll():滚动条,以下的作用是当滚动条滚动时候,弹窗的位置也不变化
   $(window).on("resize scroll",function(){
    oLogin.css(&#39;left&#39;,($(window).width()-oLogin.outerWidth())/2+$(window).scrollLeft());
    oLogin.css(&#39;top&#39;,($(window).width()-oLogin.outerHeight())/2+$(window).scrollTop());
   })
  
   });
  
  });
  
  </script>
</head>
<body>
 <input type="button" value="点击">
 <!-- <p id="login">
  <p>用户名<input type="text"></p>
  <p>密码<input type="text"></p>
  <p id="close">X</p>
 </p> -->
</body>
</html>


用到的点:

jQuery创建:

$(&#39;<p>&#39;);

弹窗的位置:

oLogin.css(&#39;left&#39;,($(window).width()-oLogin.outerWidth())/2);
oLogin.css(&#39;top&#39;,($(window).width()-oLogin.outerHeight())/2);

当滚动条滚动时候,弹窗的位置变化:

$(window).on("resize scroll",function(){
oLogin.css(&#39;left&#39;,($(window).width()-oLogin.outerWidth())/2+$(window).scrollLeft());
oLogin.css(&#39;top&#39;,($(window).width()-oLogin.outerHeight())/2+$(window).scrollTop());
   })

相信看了以上介绍你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

相关阅读:


ajax怎样才能读取本地的json

ES6如何使用Set数据结构操作数组

关于HTTP/2服务器推送

以上是jQuery怎么做出弹窗效果的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn