zoukankan      html  css  js  c++  java
  • PHP-----弹窗

    弹窗代码:

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5 <title>无标题文档</title>
     6 <script type="text/javascript" src="jquery-1.11.2.min.js">
     7 </script>
     8 <script type="text/javascript" src="tanchuang.js">
     9 </script>
    10 <link href="tanchuang.css" rel="stylesheet" type="text/css" />
    11 <style type="text/css">
    12 *{
    13     margin: 0px auto;
    14 }
    15 </style>
    16 </head>
    17 
    18 <body style="background-color:#999">
    19 <div style="200px; margin-top:10px"><input type="button" value="弹出窗口" id="btntc" style="100px; height:30px; font-size:18px;" /></div>
    20 <div id="tc"></div>
    21 </body>
    22 <script type="text/javascript">
    23 $(document).ready(function(e) {
    24     
    25     $('#btntc').click(function(){
    26         
    27             var html = "<div style='color:red'>这是测试的弹窗</div>";
    28             var button ="<input type='button' value='确定' /><input type='button' value='取消' />";
    29             var win = new Window({
    30                 
    31                 width : 500, //宽度
    32                 height : 400, //高度
    33                 title : '测试弹窗', //标题
    34                 content : html, //内容
    35                 isMask : false, //是否遮罩
    36                 buttons : button, //按钮
    37                 isDrag:true, //是否移动
    38                 
    39                 });
    40         
    41         })
    42 });
    43 </script>
    44 </html>

    弹窗css代码:

     1 .zhuti
     2 {
     3     position:absolute;
     4     z-index:3;
     5     font-size:14px;
     6     border-radius:5px;
     7     box-shadow:0 0 5px white;
     8     overflow:hidden;
     9     color:#333;
    10 }
    11 .title
    12 {
    13     background-color:#3498db;
    14     vertical-align:middle;
    15     height:35px;
    16     width:100%;
    17     line-height:35px;
    18     text-indent:1em;
    19 }
    20 .close{
    21     float:right;
    22     width:35px;
    23     height:35px;
    24     font-weight:bold;
    25     line-height:35px;
    26     vertical-align:middle;
    27     color:white;
    28     font-size:18px;
    29     }
    30 .close:hover
    31 {
    32     cursor:pointer;
    33 }
    34 .content
    35 {
    36     text-indent:1em;
    37     padding-top:10px;
    38 }
    39 .btnx
    40 {
    41     height:30px;
    42     width:100%;
    43     text-indent:1em;
    44 }
    45 .btn
    46 {
    47     height:28px;
    48     width:80px;
    49     float:left;
    50     margin-left:20px;
    51     color:#333;
    52 }
    53 #zz
    54 {
    55     width:100%;
    56     height:100%;
    57     opacity:0.15;
    58     display:none;
    59     background-color:#ccc;
    60     z-index:2;
    61     position:absolute;
    62     top:0px;
    63     left:0px;
    64 }

    弹窗js代码:

      1 // JavaScript Document
      2 
      3 // 每个弹窗的标识
      4 var x =0;
      5 var idzt = new Array();
      6 var Window = function(config){
      7     
      8     //ID不重复
      9     idzt[x] = "zhuti"+x;  //弹窗ID
     10     
     11     //初始化,接收参数
     12     this.config = {  
     13         width : config.width || 300, //宽度
     14         height : config.height || 200, //高度
     15         buttons : config.buttons || '', //默认无按钮
     16         title : config.title || '标题', //标题
     17         content : config.content || '内容', //内容
     18         isMask : config.isMask == false?false:config.isMask || true, //是否遮罩
     19         isDrag : config.isDrag == false?false:config.isDrag || true, //是否移动
     20         };
     21     
     22     //加载弹出窗口
     23     var w = ($(window).width()-this.config.width)/2;
     24     var h = ($(window).height()-this.config.height)/2;
     25     
     26     var nr = "<div class='zhuti' id='"+idzt[x]+"' bs='"+x+"' style='"+this.config.width+"px; height:"+this.config.height+"px; background-color:white; left:"+w+"px; top:"+h+"px;'></div>";
     27     $("body").append(nr);
     28     
     29     //加载弹窗标题
     30     var content ="<div id='title"+x+"' class='title' bs='"+x+"'>"+this.config.title+"<div id='close"+x+"' class='close' bs='"+x+"'>×</div></div>";
     31     //加载弹窗内容
     32     var nrh = this.config.height - 75;
     33     content = content+"<div id='content"+x+"' bs='"+x+"' class='content' style='100%; height:"+nrh+"px;'>"+this.config.content+"</div>";
     34     //加载按钮
     35     content = content+"<div id='btnx"+x+"' bs='"+x+"' class='btnx'>"+this.config.buttons+"</div>";
     36     
     37     //将标题、内容及按钮添加进窗口
     38     $('#'+idzt[x]).html(content);
     39     
     40     //创建遮罩层
     41     if(this.config.isMask)
     42     {
     43         var zz = "<div id='zz'></div>";
     44         $("body").append(zz);
     45         $("#zz").css('display','block');
     46     }
     47     
     48     //最大最小限制,以免移动到页面外
     49     var maxX = $(window).width()-this.config.width;
     50     var maxY = $(window).height()-this.config.height;
     51     var minX = 0,        minY = 0;
     52 
     53     
     54     //窗口移动
     55     if(this.config.isDrag)
     56     {
     57         //鼠标移动弹出窗
     58         $(".title").bind("mousedown",function(e){
     59                 
     60                 var n = this.getAttribute("bs"); //取标识
     61                 
     62                 //使选中的到最上层
     63                 $(".zhuti").css("z-index",3);
     64                 $('#'+idzt[n]).css("z-index",4);
     65                 
     66                 //取初始坐标
     67                 var endX = 0, //移动后X坐标
     68                     endY = 0, //移动后Y坐标
     69                     startX = parseInt($('#'+idzt[n]).css("left")), //弹出层的初始X坐标
     70                     startY = parseInt($('#'+idzt[n]).css("top")), //弹出层的初始Y坐标
     71                     downX = e.clientX, //鼠标按下时,鼠标的X坐标
     72                     downY = e.clientY; //鼠标按下时,鼠标的Y坐标
     73                     
     74                 //绑定鼠标移动事件
     75                 $("body").bind("mousemove",function(es){
     76                     
     77                     endX = es.clientX - downX + startX; //X坐标移动
     78                     endY = es.clientY - downY + startY; //Y坐标移动
     79                     
     80                     //最大最小限制
     81                     if(endX > maxX)
     82                     {
     83                         endX = maxX;
     84                     } else if(endX < 0)
     85                     {
     86                         endX = 0;
     87                     }
     88                     if(endY > maxY)
     89                     {
     90                         endY = maxY;
     91                     } else if(endY < 0)
     92                     {
     93                         endY = 0;
     94                     }
     95                     
     96                     $('#'+idzt[n]).css("top",endY+"px");
     97                     $('#'+idzt[n]).css("left",cssendX+"px");
     98                     
     99                     window.getSelection ? window.getSelection().removeAllRanges():document.selection.empty(); //取消选中文本
    100                     
    101                     });
    102             });
    103         //鼠标按键抬起,释放移动事件
    104         $("body").bind("mouseup",function(){
    105             
    106                 $("body").unbind("mousemove");
    107             
    108             });
    109     }
    110     
    111     //关闭窗口
    112     $(".close").click(function(){
    113         
    114             var m = this.getAttribute("bs"); //找标识
    115             $('#'+idzt[m]).remove(); //移除弹窗
    116             $('#zz').remove(); //移除遮罩 
    117         
    118         })
    119         
    120         x++;  //标识增加
    121         
    122 }

    显示:

  • 相关阅读:
    与DispatcherServlet的 url-pattern配置问题
    MyBatis ehcache二级缓存
    MyBatis 查询缓存
    【SPOJ283】Naptime
    【洛谷P1858】多人背包
    【洛谷P1486】郁闷的出纳员
    【POJ3017】Cut the Sequence
    【SPOJ10628】Count on a tree
    【洛谷P3224】永无乡 并查集+Splay启发式合并
    【洛谷P2617】Dynamic Rankings
  • 原文地址:https://www.cnblogs.com/chenchen0815/p/5622916.html
Copyright © 2011-2022 走看看