• JS弹出子窗口


    目的

    在一个主窗口中,点击一个链接, 弹出一个子窗口 , 父窗口保留 
    在子窗口中点击关闭, 关闭子窗口. 子窗口的位置位于屏幕的中间

    实现

    main.html

    <!DOCTYPE html>
    <html>
    <head><meta charset="utf-8"/></head>
    <body>
    <a href="" id="a1" target="new">新窗口</a>
    <div id="msg"></div>
    <script>
        var a1 = document.getElementById('a1');
        a1.onclick = function(){
            window.open('alert.html', 'new', 'location=no, toolbar=no');
            return false;
        }
    </script>
    </body>
    </html>

    注: location=no 则会弹出一个子窗口, 否则, 会在当前浏览器开启一个新页面 
    toolbar=no 使子窗口位于屏幕的中间.

    alert.html

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8"/>
        </head>
        <body>
            <input type="text" name="message" id="m1"/><br/>
            <input type="button" id="btn" value="关闭"/><br/>
            <script type="text/javascript">
                var btn = document.getElementById('btn');
                var message = document.getElementById('m1');
                btn.onclick = function(){
                    var div = window.opener.document.getElementById('msg');
                    div.innerHTML = message.value;
                    window.close();
                };           
            </script>
        </body>
    </html>

    相关参数:

         window.open 弹出新窗口的命令;
        
        "page.html" 弹出窗口的文件名;
        
        "newwindow" 弹出窗口的名字(不是文件名),非必须,可用空"代替;
        
        height=100 窗口高度;
        
        width=400 窗口宽度;
        
        top=0 窗口距离屏幕上方的象素值;
        
        left=0 窗口距离屏幕左侧的象素值;
        
        toolbar=no 是否显示工具栏,yes为显示;
        
        menubar,scrollbars 表示菜单栏和滚动栏。
        
        resizable=no 是否允许改变窗口大小,yes为允许;
        
        location=no 是否显示地址栏,yes为允许;
        
        status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;

       案例:微信二维码居中弹窗

    效果图:

    <div id="b3" class="btn wow fadeInUpBig" data-wow-delay="1.0s">
          <a class="wei-xin" href="javascript:void(0)" target="new" title="添加微信"><i class="fa fa-weixin"></i></a>
          <div id="msg"></div>
    </div>
    //微信子窗口
        var b3 = document.getElementById('b3');
        var windowTop = (window.screen.height-300)/2; 
        var windowSide = (window.screen.width-400)/2;
        var windeowparameter = 'height=300, width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no';
        windeowparameter += ','+'top='+windowTop;
        windeowparameter +=','+'left='+windowSide;
        b3.onclick = function(){
            // alert(windeowparameter)
            window.open('__MODULE__/Index/alert', 'new', windeowparameter);
            return false;
        }

    拓展:涉及到的宽高

    页可见区域宽: document.body.clientWidth;  
    网页可见区域高: document.body.clientHeight;  
    网页可见区域宽: document.body.offsetWidth (包括边线的宽);  
    网页可见区域高: document.body.offsetHeight (包括边线的宽);  
    网页正文全文宽: document.body.scrollWidth;  
    网页正文全文高: document.body.scrollHeight;  
    网页被卷去的高: document.body.scrollTop;  
    网页被卷去的左: document.body.scrollLeft;  
    网页正文部分上: window.screenTop;  
    网页正文部分左: window.screenLeft;  
    屏幕分辨率的高: window.screen.height;  
    屏幕分辨率的宽: window.screen.width;  
    屏幕可用工作区高度: window.screen.availHeight;  









    .
  • 相关阅读:
    线性表的实现用通用方法实现线性表的初始化、求表长、插入元素、删除元素等
    用c++定义两个坐标点,计算两点间距离;进而计算线段的面积
    Java:学生信息的录入,各种排序,对文件的操作
    数组1 2 3 4 5 6 1(输入-1结束),奇数位的数逆序,偶数位数不变
    按层次遍历二叉树,用队列作为缓冲
    Chapter09"内核模式下的线程同步"之事件内核对象
    Chapter10“I/O设备的同步和异步”之打开和关闭设备
    CSDN博客积分系统
    探秘Java垃圾回收机制
    Chapter09“内核模式下的线程同步”之可等待的计时器内核对象
  • 原文地址:https://www.cnblogs.com/fightjianxian/p/8977057.html
Copyright © 2020-2023  润新知