自己使用js/jquery寫(xiě)的一個(gè)定制對(duì)話框控件
先貼出主要代碼:
//對(duì)話框的基本html內(nèi)容,絕對(duì)定位,高寬設(shè)置,背景圖片,標(biāo)題,兩個(gè)按鈕圖
var tdlz_dialog_content = "<div id='tdlz_dialog"
+ "' style='position:absolute;text-align:center;width:540px;height:331px;background:url(assets/images/add_fbc.png);'><ul><li id='dialog_lb_text' style='margin-top:100px;color:#fff;font-size:25px'>"
+ "</li><li style='margin-top:100px;cursor:pointer'><img id='tdlz_dialog_ok' src='assets/images/queren.png'></img><img id='tdlz_dialog_cancel' src='assets/images/quxiao.png'></img></li></ul></div>";
//text:標(biāo)題,type:對(duì)話框類(lèi)型,funcOK:確定的執(zhí)行函數(shù),time:倒計(jì)時(shí)或alert顯示的時(shí)間
function showTdDialog(text, type, funcOK, time) {
var dialogid = "#tdlz_dialog";
$(dialogid).show(500);
$("#dialog_lb_text").html(text);
switch (type) {
case "show"://展示信息的對(duì)話框,帶一個(gè)確定鍵,點(diǎn)擊后消失
$("#tdlz_dialog_cancel").hide();
$("#tdlz_dialog_ok").unbind();
$("#tdlz_dialog_ok").click(function () {
$(dialogid).hide(500);
$("#tdlz_dialog_ok").css("margin-right", "0");
$("#tdlz_dialog_cancel").css("margin-left", "0");
});
break;
case "alert"://警告對(duì)話框,time時(shí)間后消失
$("#tdlz_dialog_cancel").hide();
$("#tdlz_dialog_ok").unbind();
setTimeout(function () {
$(dialogid).hide(500);
$("#tdlz_dialog_ok").css("margin-right", "0");
$("#tdlz_dialog_cancel").css("margin-left", "0");
}, time);
$("#tdlz_dialog_ok").click(function () {
$(dialogid).hide(500);
$("#tdlz_dialog_ok").css("margin-right", "0");
$("#tdlz_dialog_cancel").css("margin-left", "0");
});
break;
case "confirm"://確認(rèn)對(duì)話框,帶確認(rèn)取消鍵,確認(rèn)則執(zhí)行函數(shù),否則不執(zhí)行并消失
$("#tdlz_dialog_cancel").show();
$("#tdlz_dialog_ok").css("margin-right", "5%");
$("#tdlz_dialog_cancel").css("margin-left", "5%");
$("#tdlz_dialog_ok").unbind();
$("#tdlz_dialog_ok").click(function () {
funcOK();
setTimeout(function () {
$(dialogid).hide(500)
}, 1000);
});
$("#tdlz_dialog_cancel").click(function () {
$(dialogid).hide(500);
});
break;
case "time"://倒計(jì)時(shí)對(duì)話框,顯示time時(shí)間倒計(jì)時(shí),結(jié)束后消失
$("#tdlz_dialog_cancel").hide();
$("#dialog_lb_text").html(text + "" + time);
var a = setInterval(function () {
time = parseInt(time) - 1;
if (time < 0) {
clearInterval(a);
$(dialogid).hide(500);
}
$("#dialog_lb_text").html(text + "" + time);
}, 1000);
$("#tdlz_dialog_ok").unbind();
$("#tdlz_dialog_ok").click(function () {
$(dialogid).hide(500);
$("#tdlz_dialog_ok").css("margin-right", "0");
$("#tdlz_dialog_cancel").css("margin-left", "0");
});
break;
}
}
除了上面的使用函數(shù),還需要對(duì)對(duì)話框進(jìn)行初始化,為了插入文檔中并且居中顯示
function initDialog() {
$("body").before(tdlz_dialog_content);
//計(jì)算恰當(dāng)?shù)闹虚g位置
var top_percent = (window.innerHeight / 4) / window.innerHeight
var left_percent = (window.innerWidth / 2 - $("#tdlz_dialog").width() / 2) / window.innerWidth;
$("#tdlz_dialog").css("top", top_percent * 100 + "%");
$("#tdlz_dialog").css("left", left_percent * 100 + "%");
$("#tdlz_dialog").css("z-index", "100");
$("#tdlz_dialog").hide();
}
使用的時(shí)候如下(以confirm對(duì)話框?yàn)槔?
initDialog();
showTdDialog("I'm a Dialog","confirm",function(){
console.log("Button OK Clicked!");
});
效果圖如下:

- jQuery Mobile的loading對(duì)話框顯示/隱藏方法分享
- jquery刪除提示框彈出是否刪除對(duì)話框
- jQuery UI庫(kù)中dialog對(duì)話框功能使用全解析
- JQuery彈出炫麗對(duì)話框的同時(shí)讓背景變灰色
- JQuery實(shí)現(xiàn)自定義對(duì)話框的代碼
- Jquery實(shí)現(xiàn)頁(yè)面加載時(shí)彈出對(duì)話框代碼
- 用JQuery 實(shí)現(xiàn)的自定義對(duì)話框
- jquery 模式對(duì)話框終極版實(shí)現(xiàn)代碼
- 6款經(jīng)典實(shí)用的jQuery小插件及源碼(對(duì)話框/提示工具等等)
- jQuery Dialog對(duì)話框事件用法實(shí)例分析
- jQuery實(shí)現(xiàn)時(shí)尚漂亮的彈出式對(duì)話框?qū)嵗?/a>
- jQuery實(shí)現(xiàn)定時(shí)隱藏對(duì)話框的方法分析
相關(guān)文章
用JS簡(jiǎn)單實(shí)現(xiàn)九宮格抽獎(jiǎng)的示例代碼
在網(wǎng)上經(jīng)??匆?jiàn)一些抽獎(jiǎng)頁(yè)面,也玩過(guò)不同類(lèi)型的抽獎(jiǎng)活動(dòng),但是一直沒(méi)有做過(guò)抽獎(jiǎng)的功能,所以今天來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的九宮格抽獎(jiǎng)功能,文中有詳細(xì)的代碼示例供大家參考,感興趣的朋友可以自己動(dòng)手嘗試一下2023-12-12關(guān)于安卓手機(jī)微信瀏覽器中使用XMLHttpRequest 2上傳圖片顯示字節(jié)數(shù)為0的解決辦法
這篇文章主要介紹了關(guān)于安卓手機(jī)微信瀏覽器中使用XMLHttpRequest 2上傳圖片顯示字節(jié)數(shù)為0的解決辦法 的相關(guān)資料,需要的朋友可以參考下2016-05-05javascript中數(shù)組的sort()方法的使用介紹
數(shù)組的sort()方法用于排序,在本文將為大家介紹下javascript中sort()方法的具體使用2013-12-12JavaScript實(shí)現(xiàn)列表分頁(yè)功能特效
最近在做一個(gè)小項(xiàng)目,有時(shí)需要制作靜態(tài)頁(yè)面網(wǎng)站,而一旦涉及到文章的分頁(yè),實(shí)現(xiàn)起來(lái)非常麻煩,自己又剛?cè)腴T(mén),對(duì)js不是很熟悉,所以就拿來(lái)練練手。2015-05-05優(yōu)化javascript的執(zhí)行效率一些方法總結(jié)
本文為大家介紹下優(yōu)化javascript的執(zhí)行效率一些方法,個(gè)人感覺(jué)還不錯(cuò),感興趣的朋友可以了解下2013-12-12document.documentElement && document.documentElement
document.documentElement && document.documentElement.scrollTop...2007-12-12javascript設(shè)計(jì)模式 – 中介者模式原理與用法實(shí)例分析
這篇文章主要介紹了javascript設(shè)計(jì)模式 – 中介者模式,結(jié)合實(shí)例形式分析了javascript中介者模式基本概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04