本文實例講述了jQuery基于函數重載實現自定義Alert函數樣式的方法。分享給大家供大家參考,具體如下:
(function(){window.alert = function(text) { text=text.toString().replace(////g,'//').replace(//n/g,'<br />').replace(//r/g,'<br />'); //解析alert內容中的換行符 var alertdiv='<div id="alertdiv" style="position:absolute; display:none ; overflow:hidden; padding:10px 10px 8px; top: 50%; left: 50%; text-align:center; line-height:22px; background-color:#DDE4EE; border:1px solid #ccc">'+text+'<br /><input type="submit" name="button" id="button" value="確定" style="margin-top:8px;" onclick="$(this).parent().remove(); "/></div>'; //自定義div彈窗 $(document.body).append(alertdiv); //動態加載div $("#alertdiv").css({"margin-left":$("#alertdiv").width()/2*(-1)-20,"margin-top":$("#alertdiv").height()/2*(-1)-20}); //設置偏移數值,實現div居中 $("#alertdiv").show(); //顯示};})();
注:以上代碼可自適應alert內容長度,支持換行符,調用時與原始alert函數無異。
完整示例代碼如下:
<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.10.2/jquery-1.10.2.min.js"></script><script type="text/javascript">(function(){window.alert = function(text) { text=text.toString().replace(////g,'//').replace(//n/g,'<br />').replace(//r/g,'<br />'); //解析alert內容中的換行符 var alertdiv='<div id="alertdiv" style="position:absolute; display:none ; overflow:hidden; padding:10px 10px 8px; top: 50%; left: 50%; text-align:center; line-height:22px; background-color:#DDE4EE; border:1px solid #ccc">'+text+'<br /><input type="submit" name="button" id="button" value="確定" style="margin-top:8px;" onclick="$(this).parent().remove(); "/></div>'; //自定義div彈窗 $(document.body).append(alertdiv); //動態加載div $("#alertdiv").css({"margin-left":$("#alertdiv").width()/2*(-1)-20,"margin-top":$("#alertdiv").height()/2*(-1)-20}); //設置偏移數值,實現div居中 $("#alertdiv").show(); //顯示};})();</script><input type="submit" name="button" id="button" value="點擊彈出alert自定義窗口" onclick='alert("這是alert彈窗/n支持//n換行符")'/>
運行效果截圖如下:
更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jQuery擴展技巧總結》、《jQuery常用插件及用法總結》、《jQuery拖拽特效與技巧總結》、《jQuery表格(table)操作技巧匯總》、《jquery中Ajax用法總結》、《jQuery常見經典特效匯總》、《jQuery動畫與特效用法總結》及《jquery選擇器用法總結》
希望本文所述對大家jQuery程序設計有所幫助。
新聞熱點
疑難解答