layui弹出层之layer.open弹出iframe窗口·

本文介绍如何使用layui的layer.open方法弹出iframe窗口,避免重复弹出和实现父子页面数据交互。详细讲解了如何解决iframe窗口重复弹出、父子页面的数据交互以及窗体自动最小化到还原的控制。同时提供了layui弹出层其他类型的使用示例,如提示框和信息框。
摘要由CSDN通过智能技术生成

layui弹出层之layer.open弹出iframe窗口·

 

layer.open弹出iframe窗口

【1】该功能为案例,弹出iframe窗口显示上传数据

由于layui的弹出层每次执行layer.open({})都会弹出新的iframe窗口,它不会帮你判断是否弹出相同的iframe窗口,使用只能自己手动判断,禁止在已有iframe窗口下,再次使用layer.open({})创建新的iframe窗口

  1)解决重复弹出iframe相同窗口方法

  因为layer.open({})再创建iframe窗口时,会返回一个标识--参数index为层的索引(每一种弹层调用方式,都会返回一个index)

使用全局变量index区分弹出iframe窗口在需要上传时,判断if(index!="")   

  2)解决父子页面数据交互问题

  只要能获取iframe窗口的id,通过其他函数进行数据交互

  如,contentWindow方法    

       //得到iframe页的窗口对象,执行iframe页的方法:

       var iframeWin = window[layero.find('iframe')[0]['name']];

       //获取iframe窗口的id

       var iframeID=iframeWin.frameElement.id;

 3)解决窗体自动从最小化--》还原       

 layui通过layer.full()、layer.min()、layer.restore()手工执行最大小化

  只要知道iframe窗口参数index的标识索引就能控制iframe窗口最大、最小、还原化和关闭

   layer.restore(index);

   注意,我在执行该方法时,代码出现些bug,该方法好像会干扰

   对iframe窗口的操作和其他代码执行,所以放到位置要放好点

    我用全局变量var indexmin=false;   

当iframe窗口缩小时,触发min事件就改为true,

       min:function(){

       indexmin=true;

      },

      目的是iframe窗口缩小化时,正好又执行上传,我需要iframe窗口还原显示上传数据

       if(indexmin==true){

         layer.restore(index);

         indexmin=false;

       }                              

 

    //layer.open的全局变量--iframe的标志

    var index;

    var iframeid="";

    var indexmin=false;

    function upinput(num){

    //判断还原iframe的窗口

         if(indexmin==true){

            layer.restore(index);

            indexmin=false;

         }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值