自己使用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!");
});
效果图如下:


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

随着Web应用程序的普及,富文本编辑器成为Web开发中必不可少的一个工具。而在使用Go语言进行Web开发时,我们也需要选择一个适合的富文本编辑器控件来丰富我们的网站和应用程序。在本文中,我们将会探讨Go语言Web开发常见的富文本编辑器控件。FroalaEditorFroalaEditor是一款流行的富文本编辑器控件,被广泛应用于Web开发中。它具有现代化

windows10客户在使用电脑的过程中经常会碰到开启多个对话框的状况,用电脑鼠标去点一下又很麻烦,那样windows10切换桌面对话框快捷键是什么呢?要想切换窗口,按着Alt+Tab键就可以了,如果是设置分屏以后,要想转换不一样桌面上得话,只需按着Win+Ctrl+键盘按键左/右就能够迅速开展转换了,十分便捷。windows10切换桌面对话框快捷键一览:1、切换窗口:【Alt】+【Tab】2、任务视图:【Win】+【Tab】,且松掉电脑键盘页面不容易消退。3、建立新的虚拟桌面:【Win】+【C

panel控件的使用步骤是首先创建了一个Panel控件,并设置了其宽度、高度、背景颜色、边框颜色、边框宽度和内边距,创建了两个按钮,并将它们添加到Panel控件中,最后将Panel控件添加到窗体中。

我们在使用excel办公软件的时候,如果能够巧妙地使用一些控件,可以帮助我们在excel表格中做出比较专业的效果,比如添加选择控件,可以使填表人员轻松的完成表格的填写。下边,我们就演示excel选择控件的制作方法,希望对你有帮助!1、首先,我们新建并打开一个空白的excel表格。2、添加“开发工具”选项卡,点击左上侧文件按钮,找到“Excel选项”,之后,我们在自定义功能区的选项内找到开发工具,勾选,使其前边出现对号就可以。3、回到excel工作界面,就可以看到“开发工具”选项卡了,一般情况,不

使用win10系统的用户在安装软件的时候是不是都遇到过一个对话框,非常的麻烦,但是其实这个框是可以关闭的,或许大部分用户不会操作,因此我们带来了教程,一起看看win10安装软件弹出的那个对话框怎么关掉吧。win10安装软件弹出的那个对话框怎么关掉:1、首先按下快捷键“win+r”打开运行,输入“control”回车。2、之后去选择里面的“安全和维护”。3、然后点击左侧的“更改用户账户控制设置”。4、然后按住蓝色的小方块,下拉到“从不通知”的位置,点击确定即可。

Java作为一种广泛使用的编程语言,被开发者们广泛采用和应用。然而,即使是熟练掌握Java的程序员也会遇到各种问题和错误。其中一个常见的问题就是JavaFX对话框错误。JavaFX对话框是一种非常常见的UI组件,它可以用来向用户提供消息、确认和输入等选项,从而在程序和用户之间建立交互。这种对话框的错误可能会阻止程序正常运行,导致不必要的麻烦和浪费时间。那么,

Vue中如何实现对话框及模态框?随着前端技术的不断发展和更新,前端页面的开发变得越来越复杂和多样化。对话框和模态框是前端页面中经常出现的元素,能够帮助我们实现更加灵活多样的交互效果。在Vue中,实现对话框和模态框的方式有很多种,本文就为大家介绍几种常见的实现方式。1.使用Vue自带的组件Vue.js提供了一些内置组件,比如transition和tra

深入了解Ajax控件:常见的有哪些?介绍:在现代Web开发中,Ajax(AsynchronousJavaScriptandXML)成为了一种流行的技术,它可以实现网页局部刷新,提升用户体验。而在开发中,我们通常使用Ajax控件来简化和加速我们的开发流程。本文将深入了解Ajax控件,介绍一些常见的控件及其功能。一、jQueryAjax:jQueryA
