日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JS~重写alter与confirm,让它们变成fancybox风格

發布時間:2024/4/13 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS~重写alter与confirm,让它们变成fancybox风格 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

插件與系統命令

對于很多JS彈框插件來說,都提供了alter,confirm等功能,如fancybox,Boxy等插件,今天來介紹一下如何將系統的alter和confirm替換成指定插件的alter和confirm,使用替換的方式的好處就是不用修改之前的代碼,這在面向對象里,

叫做“對修改關閉,對擴展開放”,也稱為OCP原則,即開閉原則。

fancybox替換系統命令,它需要有一個HTML容器來展現彈框

<script id="MessageBox_delete" type="text/html"><!--試題刪除確認彈出框 start--><div class="r_warnBox" style="width: 276px;"><div class="r_warnBox_tit"><h3><strong>提示</strong></h3></div><div class="r_roomBoxContDel"><p class="alert">您確定刪除作業嗎?</p><p class="confirm"><a class="sure" href="javascript:;">確定</a><a class="cancel" href="javascript:;" οnclick="$.fancybox.close();">取消</a></p></div><a class="r_warnBox_close" href="javascript:;" onclick="$.fancybox.close();"></a></div><!--試題刪除確認彈出框 end--> </script> <!--彈出框1 start--> <script id="MessageBox_message" type="text/html"><div class='r_warnBox' style='width: 433px; padding-right: 30px;'><div class='r_warnBox_tit'><h3><strong>提示</strong></h3></div><div id='alert_message' class='r_roomBoxCont'><p class='alert'>[Content]</p></div><a class='r_warnBox_close' href='javascript:;' onclick="$.fancybox.close()"></a></div> </script> <!--彈出框1 end-->

下面是復寫語句

window.alert = function (msg) {var reg = new RegExp("\\[([^\\[\\]]*?)\\]", 'igm'); //i g m是指分別用于指定區分大小寫的匹配、全局匹配和多行匹配。var html = document.getElementById("MessageBox_message").innerHTML;var result = html.replace(reg, function (node, key) { return { 'Content': msg }[key]; });$.fancybox(result, {'padding': 0,'scrolling': 'visible','closeBtn': false,'modal': false});}window.confirm = function (msg, callBack) {$.fancybox($("#MessageBox_delete").html(), {'padding': 0,'scrolling': 'visible','closeBtn': false,'modal': false,afterShow: function () {$('p.confirm a.sure').on('click', function () {callBack();});}});}

下面是調用語句

function alerttest() {alert("ok");}function confirmtest() {confirm("are you sure!", function () { alert("刪除成功") });}

Boxy替換系統命令,使用相對簡單,它已經為我們創建的彈框的DIV

window.alert = function (msg) {Boxy.alert(msg); }window.alert = function (msg,callback) {Boxy.confirm(msg,callback); }

調用和fancybox也是一樣的

function alerttest() {alert("ok");}function confirmtest() {confirm("are you sure!", function () { alert("刪除成功") });}

最后運行效果如圖

轉載于:https://www.cnblogs.com/lori/p/3586075.html

總結

以上是生活随笔為你收集整理的JS~重写alter与confirm,让它们变成fancybox风格的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。