layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法


Posted in Javascript onSeptember 24, 2019

昨天layer插件弹出层关闭问题弄的我直挠头,短短几行代码,用了我将近2个钟头才解决。我的使用场景是这样。在页面中用layer.open弹出一个层,在层内是微信支付二维码,客户扫码支付。支付成功后关闭此弹出层,并提示项目投递成功,然后再跳转到其他页面。为了监控微信二维码扫码支付是否成功。我利用了每隔三秒,查询下支付订单,查看支付订单的支付状态是否改变。在实际操作中由于使用的是location.href做跳转,然而跳转执行的非常慢,要10几秒才能成功,这不能忍。只能退而求其次,只是提示投递成功,然后关闭弹出层。由于关闭弹出层,及弹出警告提示的相关代码是在弹出层所在页面执行。

实际代码在执行过程当中遇到了各种问题。

$(function () {
      setInterval(GetDeliverProjectPayStatusSuccess, 3000);
    });
    function GetDeliverProjectPayStatusSuccess() {
      $.post("/ajax/GetDeliverProjectPayStatus.ashx", { OrderNo:"<%=Request.QueryString["OrderNo"] %>" }, function (data) {
        console.info(data);
 
        if (data == 1) {
  parent.layer.closeAll();
          layer.alert("项目投递成功");
 
        }
      });
    }

首先尝试的代码如上。先关闭弹出层,然后提示项目投递成功。这尝试的结果是,弹出层被关闭了。却没有任何提示。为什么这样执行,分析的结果是关闭弹出层,意味着弹出页面被关闭。弹出页面被关闭了。在弹出页面存在的layer.alert代码也就无从执行。然后这两行代码调换位置。可仍然是弹出层被关闭了。却没有提示。这个分析的原因是就像javascript中的alert与location.href一样。如果先alert然后在location.href,也不会执行alert,或者说其实有执行,但是由于系统执行的非常快,还没等你看到alert信息,浏览器已经跳转了。这里也是,还没等你看到项目投递成功的信息,弹出层已经关闭了。

又尝试了带回调函数的layer.alert,等客户点击layer.alert的确定按钮后再执行parent.layer.closeAll() 来关闭弹出层。然而残酷的现实是,由于这个是每隔三秒执行一次post请求,结果就是如果你点击关闭按钮过慢,它会每隔3秒弹出项目投递成功的提示。这怎么能用。难道你要求客户必须快速反应,点击关闭按钮?经过不断尝试,最终还是找到了一个方法解决了这个问题。

能够很好解决此问题的代码如下:

$(function () {
      setInterval(GetDeliverProjectPayStatusSuccess, 3000);
    });
    function GetDeliverProjectPayStatusSuccess() {
      $.post("/ajax/GetDeliverProjectPayStatus.ashx", { OrderNo:"<%=Request.QueryString["OrderNo"] %>" }, function (data) {
        console.info(data);
 
        if (data == 1) {
          parent.layer.alert("项目投递成功");
          var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
          parent.layer.close(index); //再执行关闭 
 
        }
      });
    }

以上这篇layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript匿名函数应用示例介绍
Mar 07 Javascript
js实现遮罩层划出效果是生成div而不是显示
Jul 29 Javascript
Js制作点击输入框时默认文字消失的效果
Sep 05 Javascript
AngularJS 2.0入门权威指南
Oct 08 Javascript
JS实战篇之收缩菜单表单布局
Dec 10 Javascript
利用js来实现缩略语列表、文献来源链接和快捷键列表
Dec 16 Javascript
JS验证不重复验证码
Feb 10 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
Mar 09 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
Dec 29 Javascript
10个最受欢迎的 JavaScript框架(推荐)
Apr 24 Javascript
react-native滑动吸顶效果的实现过程
Jun 03 Javascript
jQuery实现的分页插件完整示例
May 26 jQuery
解决layer.prompt无效的问题
Sep 24 #Javascript
layer.prompt使文本框为空的情况下也能点击确定的方法
Sep 24 #Javascript
layui-table获得当前行的上/下一行数据的例子
Sep 24 #Javascript
通过实例了解JS 连续赋值
Sep 24 #Javascript
layui--select使用以及下拉框实现键盘选择的例子
Sep 24 #Javascript
JS防抖和节流实例解析
Sep 24 #Javascript
vue.js实现图书管理功能
Sep 24 #Javascript
You might like
php实现生成验证码实例分享
2016/04/10 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
JavaScript的目的分析
2007/01/05 Javascript
基于jquery的超简单上下翻
2010/04/20 Javascript
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
jQuery实现瀑布流布局
2014/12/12 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
javascript类型系统 Array对象学习笔记
2016/01/09 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
jQuery实现别踩白块儿网页版小游戏
2017/01/18 Javascript
JavaScript轻松创建级联函数的方法示例
2017/02/10 Javascript
微信小程序methods中定义的方法互相调用的实例代码
2018/08/07 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
html2canvas属性和使用方法以及如何使用html2canvas将HTML内容写入Canvas生成图片
2020/01/12 Javascript
jquery+css3实现的经典弹出层效果示例
2020/05/16 jQuery
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
Python的Flask框架及Nginx实现静态文件访问限制功能
2016/06/27 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
pandas数据清洗,排序,索引设置,数据选取方法
2018/05/18 Python
python 机器学习之支持向量机非线性回归SVR模型
2019/06/26 Python
python保留小数位的三种实现方法
2020/01/07 Python
Python中包的用法及安装
2020/02/11 Python
python通过cython加密代码
2020/12/11 Python
DC Shoes官网:美国滑板鞋和服饰品牌
2017/09/03 全球购物
英国最大的香水商店:The Fragrance Shop
2018/07/06 全球购物
三星印度官网:Samsung印度
2019/08/03 全球购物
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
土木工程毕业生自荐信
2013/09/21 职场文书
青奥会口号
2014/06/12 职场文书
幸福中国演讲稿
2014/09/12 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
创业计划书之溜冰场
2019/10/25 职场文书
浅谈CSS不规则边框的生成方案
2021/05/25 HTML / CSS