自己使用js/jquery写的一个定制对话框控件_javascript技巧
最近在做一个游戏项目,项目里面很多需要用到对话框,而且得用上美工做的图片,这样的话好像就不好去找一些现成的对话框控件了,于是便琢磨着自己做一个通用的控件,虽然不是绝对通用啦,但在我这个项目里还是可以随意调用的,思想的话也可以借鉴到别的项目中。
先贴出主要代码:
//对话框的基本html内容,绝对定位,高宽设置,背景图片,标题,两个按钮图
var tdlz_dialog_content = "
- "
+ " -
//text:标题,type:对话框类型,funcOK:确定的执行函数,time:倒计时或alert显示的时间
function showTdDialog(text, type, funcOK, time) {
var dialogid = "#tdlz_dialog";
$(dialogid).show(500);
$("#dialog_lb_text").html(text);
switch (type) {
case "show"://展示信息的对话框,带一个确定键,点击后消失
$("#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"://警告对话框,time时间后消失
$("#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"://确认对话框,带确认取消键,确认则执行函数,否则不执行并消失
$("#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"://倒计时对话框,显示time时间倒计时,结束后消失
$("#tdlz_dialog_cancel").hide();
$("#dialog_lb_text").html(text + "" + time);
var a = setInterval(function () {
time = parseInt(time) - 1;
if (time 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;
}
}
除了上面的使用函数,还需要对对话框进行初始化,为了插入文档中并且居中显示
function initDialog() {
$("body").before(tdlz_dialog_content);
//计算恰当的中间位置
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();
}
使用的时候如下(以confirm对话框为例):
initDialog();
showTdDialog("I'm a Dialog","confirm",function(){
console.log("Button OK Clicked!");
});
效果图如下:


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dengan populariti aplikasi web, editor teks kaya telah menjadi alat yang sangat diperlukan dalam pembangunan web. Apabila menggunakan bahasa Go untuk pembangunan web, kami juga perlu memilih kawalan editor teks kaya yang sesuai untuk memperkayakan tapak web dan aplikasi kami. Dalam artikel ini, kita akan membincangkan kawalan editor teks kaya biasa dalam pembangunan web bahasa Go. FroalaEditorFroalaEditor ialah kawalan editor teks kaya yang popular yang digunakan secara meluas dalam pembangunan web. ia mempunyai kemodenan

Pengguna Windows 10 sering menghadapi situasi membuka berbilang kotak dialog apabila menggunakan komputer Sangat menyusahkan untuk mengklik dengan tetikus Jadi apakah kekunci pintasan untuk menukar kotak dialog desktop dalam Windows 10? Untuk menukar tetingkap, hanya tekan Alt+Tab Jika anda ingin menukar ke desktop yang berbeza selepas menyediakan skrin belah, hanya tekan Win+Ctrl+keyboard ke kiri/kanan untuk menukar dengan cepat. Senarai kekunci pintasan untuk menukar kotak dialog desktop dalam Windows 10: 1. Tukar tetingkap: [Alt] + [Tab] 2. Paparan tugas: [Win] + [Tab], dan halaman tidak akan pudar apabila anda melepaskan papan kekunci . 3. Buat desktop maya baharu: [Win] + [C

Langkah-langkah untuk menggunakan kawalan panel adalah untuk mula-mula mencipta kawalan Panel dan menetapkan lebar, ketinggian, warna latar belakang, warna sempadan, lebar dan padding sempadan, mencipta dua butang dan menambahnya pada kawalan Panel, dan akhirnya Tambah kawalan Panel ke borang tersebut.

Apabila kami menggunakan perisian pejabat excel, jika kami boleh menggunakan beberapa kawalan dengan mahir, ia boleh membantu kami mencipta lebih banyak kesan profesional dalam borang excel Contohnya, menambah kawalan pemilihan boleh menjadikan pengisi borang melengkapkan borang dengan mudah. Di bawah, kami akan menunjukkan cara membuat kawalan pemilihan excel Kami harap ia akan membantu anda! 1. Pertama, kami mencipta dan membuka jadual excel kosong. 2. Tambah tab "Alat Pembangunan", klik butang fail di sebelah kiri atas, dan cari "Pilihan Excel". Selepas itu, kami mencari alat pembangunan dalam pilihan reben tersuai dan semaknya supaya tanda semak muncul di hadapannya. 3. Kembali ke antara muka kerja Excel dan anda boleh melihat tab "Alat Pembangunan" Secara umumnya, ia tidak

Pengguna yang menggunakan sistem win10 telah menemui kotak dialog apabila memasang perisian, yang sangat menyusahkan, sebenarnya, kotak ini boleh ditutup mungkin kebanyakan pengguna tidak dapat mengendalikannya, jadi kami telah membawakan tutorial untuk anda tonton bersama bagaimana untuk menutup kotak dialog yang muncul dalam perisian pemasangan win10. Cara menutup kotak dialog yang muncul dalam perisian pemasangan win10: 1. Pertama, tekan kekunci pintasan "win+r" untuk membuka larian, masukkan "control" dan tekan Enter. 2. Kemudian pilih "Keselamatan dan Penyelenggaraan" di dalam. 3. Kemudian klik "Tukar Tetapan Kawalan Akaun Pengguna" di sebelah kiri. 4. Kemudian tekan dan tahan petak biru kecil, tarik ke bawah ke kedudukan "Jangan sekali-kali maklumkan", dan klik OK.

Sebagai bahasa pengaturcaraan yang digunakan secara meluas, Java diterima pakai dan digunakan secara meluas oleh pembangun. Walau bagaimanapun, pengaturcara yang mahir dalam Java pun boleh menghadapi pelbagai masalah dan ralat. Salah satu masalah biasa ialah ralat kotak dialog JavaFX. Kotak dialog JavaFX ialah komponen UI yang sangat biasa yang boleh digunakan untuk menyediakan pengguna dengan mesej, pengesahan, pilihan input, dsb., dengan itu mewujudkan interaksi antara program dan pengguna. Ralat kotak dialog sedemikian boleh menghalang program daripada berjalan dengan betul, menyebabkan masalah yang tidak perlu dan masa yang sia-sia. Jadi,

Bagaimana untuk melaksanakan kotak dialog dan kotak modal dalam Vue? Dengan pembangunan berterusan dan pengemaskinian teknologi bahagian hadapan, pembangunan muka surat hadapan telah menjadi lebih kompleks dan pelbagai. Kotak dialog dan kotak modal ialah elemen yang sering muncul di halaman hadapan dan boleh membantu kami mencapai kesan interaktif yang lebih fleksibel dan pelbagai. Dalam Vue, terdapat banyak cara untuk melaksanakan kotak dialog dan kotak modal Artikel ini akan memperkenalkan anda kepada beberapa kaedah pelaksanaan biasa. 1. Gunakan komponen Vue sendiri.js menyediakan beberapa komponen terbina dalam, seperti peralihan dan tra.

Pemahaman mendalam tentang kawalan Ajax: Apakah yang biasa? Pengenalan: Dalam pembangunan Web moden, Ajax (JavaScript Asynchronous dan XML) telah menjadi teknologi popular, yang boleh merealisasikan penyegaran separa halaman web dan meningkatkan pengalaman pengguna. Dalam pembangunan, kami biasanya menggunakan kawalan Ajax untuk memudahkan dan mempercepatkan proses pembangunan kami. Artikel ini akan melihat secara mendalam tentang kawalan Ajax dan memperkenalkan beberapa kawalan biasa dan fungsinya. 1. jQueryAjax: jQueryA
