最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

layer插件實(shí)現(xiàn)在彈出層中彈出一警告提示并關(guān)閉彈出層的方法

 更新時(shí)間:2019年09月24日 15:38:46   作者:sxf359  
今天小編就為大家分享一篇layer插件實(shí)現(xiàn)在彈出層中彈出一警告提示并關(guān)閉彈出層的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

昨天layer插件彈出層關(guān)閉問題弄的我直撓頭,短短幾行代碼,用了我將近2個(gè)鐘頭才解決。我的使用場景是這樣。在頁面中用layer.open彈出一個(gè)層,在層內(nèi)是微信支付二維碼,客戶掃碼支付。支付成功后關(guān)閉此彈出層,并提示項(xiàng)目投遞成功,然后再跳轉(zhuǎn)到其他頁面。為了監(jiān)控微信二維碼掃碼支付是否成功。我利用了每隔三秒,查詢下支付訂單,查看支付訂單的支付狀態(tài)是否改變。在實(shí)際操作中由于使用的是location.href做跳轉(zhuǎn),然而跳轉(zhuǎn)執(zhí)行的非常慢,要10幾秒才能成功,這不能忍。只能退而求其次,只是提示投遞成功,然后關(guān)閉彈出層。由于關(guān)閉彈出層,及彈出警告提示的相關(guān)代碼是在彈出層所在頁面執(zhí)行。

實(shí)際代碼在執(zhí)行過程當(dāng)中遇到了各種問題。

$(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("項(xiàng)目投遞成功");
 
        }
      });
    }

首先嘗試的代碼如上。先關(guān)閉彈出層,然后提示項(xiàng)目投遞成功。這嘗試的結(jié)果是,彈出層被關(guān)閉了。卻沒有任何提示。為什么這樣執(zhí)行,分析的結(jié)果是關(guān)閉彈出層,意味著彈出頁面被關(guān)閉。彈出頁面被關(guān)閉了。在彈出頁面存在的layer.alert代碼也就無從執(zhí)行。然后這兩行代碼調(diào)換位置??扇匀皇菑棾鰧颖魂P(guān)閉了。卻沒有提示。這個(gè)分析的原因是就像javascript中的alert與location.href一樣。如果先alert然后在location.href,也不會(huì)執(zhí)行alert,或者說其實(shí)有執(zhí)行,但是由于系統(tǒng)執(zhí)行的非常快,還沒等你看到alert信息,瀏覽器已經(jīng)跳轉(zhuǎn)了。這里也是,還沒等你看到項(xiàng)目投遞成功的信息,彈出層已經(jīng)關(guān)閉了。

又嘗試了帶回調(diào)函數(shù)的layer.alert,等客戶點(diǎn)擊layer.alert的確定按鈕后再執(zhí)行parent.layer.closeAll() 來關(guān)閉彈出層。然而殘酷的現(xiàn)實(shí)是,由于這個(gè)是每隔三秒執(zhí)行一次post請求,結(jié)果就是如果你點(diǎn)擊關(guān)閉按鈕過慢,它會(huì)每隔3秒彈出項(xiàng)目投遞成功的提示。這怎么能用。難道你要求客戶必須快速反應(yīng),點(diǎn)擊關(guān)閉按鈕?經(jīng)過不斷嘗試,最終還是找到了一個(gè)方法解決了這個(gè)問題。

能夠很好解決此問題的代碼如下:

  $(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("項(xiàng)目投遞成功");
          var index = parent.layer.getFrameIndex(window.name); //先得到當(dāng)前iframe層的索引
          parent.layer.close(index); //再執(zhí)行關(guān)閉 
 
        }
      });
    }

以上這篇layer插件實(shí)現(xiàn)在彈出層中彈出一警告提示并關(guān)閉彈出層的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

襄垣县| 金坛市| 土默特左旗| 林州市| 资兴市| 苏州市| 红安县| 肥乡县| 雅安市| 怀安县| 德兴市| 江门市| 长顺县| 鲜城| 莱州市| 娄底市| 沧源| 宁阳县| 青阳县| 五常市| 太原市| 陵水| 方山县| 黔西| 禄丰县| 平罗县| 库伦旗| 陆良县| 尉氏县| 邓州市| 晋城| 金阳县| 南召县| 肇源县| 民乐县| 安岳县| 乐清市| 博湖县| 马鞍山市| 泰顺县| 巴塘县|