核心思路:設置一個隱藏的(display:none;)、背景偏暗的div及其子div作為對話框。當點擊某處時,將此div設置為顯示。
核心代碼例如以下(部分js代碼用於動態調整div內容的行高。這部分代碼能夠忽略):
<!doctype html> <html> <head> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="demo.css"> <script src="jquery-1.10.1.min.js"></script> <script> function getHeight(className) { var height = $(className).height(); return height; } function setLineHeight(className) { var height = getHeight(className) + "px"; $(className).css("line-height",height); } $(function() { //調整行高並設置回調函數,窗體一動我也動 setLineHeight(".init-page-btn"); setLineHeight(".hidden-alert"); window.onresize = function(){ setLineHeight(".init-page-btn"); setLineHeight(".hidden-alert"); }; //點擊"點我"button就彈出窗體讓我填寫手機號碼 $(".init-page-btn").click(function(){ $(".hidden-bg").show(); setLineHeight(".hidden-alert"); }); //點擊彈出窗體中的"叉",彈出窗體就消失 $(".hidden-alert-close").click(function(){ $(".hidden-bg").hide(); }); }); </script> </head> <body> <div class="init-page"> <div class="init-page-btn">點我</div> </div> <div class="hidden-bg"> <div class="hidden-alert"> <span>請輸入手機號:<input type="text"></span> <div class="hidden-alert-close">叉</div> </div> </div> </body> </html>
初始頁面效果:
彈出對話框后的效果為:
查看效果和完整代碼能夠下載下面文件: