最近,公司一直在做微网站之类的,一直在看别的微网站,发现一些对话框的样式很不错,所以自己就动手把样式剥离出来写成一个简单的插件,方便其他项目中使用到。废话不多说,上插件源码:

/*
*jQuery简单消息框插件
*2014-03-14
*调用:
*$.dialog.alert("提示消息");
*对话框的调用:$.dialog.message("消息");仅有确定的对话框
*$.dialog.message("消息", true, callback);带取消和回调函数的对话框,空函数请传$.noop
*/
jQuery.dialog = {
/*
*消息框
*/
alert: function (text) {
var $window = $('<div id="windowcenter"></div>');
$window.css({ "position": "absolute", "width": "267px", "display": "none", "margin": "0 auto 0 -136px", "padding": "2px",
"bottom": "60px", "left": "50%", "border-radius": "0.6em", "-webkit-border-radius": "0.6em", "-moz-border-radius": "0.6em",
"background-color": "#f1f1f1", "-webkit-box-shadow": "0 0 10px rgba(0, 0, 0, 0.5)", "-moz-box-shadow": "0 0 10px rgba(0, 0, 0, 0.5)",
"-o-box-shadow": "0 0 10px rgba(0, 0, 0, 0.5)", "box-shadow": "0 0 10px rgba(0, 0, 0, 0.5)",
"font": "14px/1.5 Microsoft YaHei, Helvitica, Verdana, Arial, san-serif", "z-index": "10"
});
var $title = $('<div>操作提示</div>');
$title.css({ "background-color": "#585858", "line-height": "26px", "padding": "5px 5px 5px 10px", "color": "#fff", "font-size": "16px",
"border-radius": "0.5em 0.5em 0 0", "-webkit-border-radius": "0.5em 0.5em 0 0", "-moz-border-radius": "0.5em 0.5em 0 0"
});
var $close = $('<span></span>');
$close.css({ "float": "right", "width": "26px", "height": "26px", "display": "block", "background-image": "url('data:image/png;base64," +
"iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACTSURBVEhL7dNtCoAgD" +
"AZgb60nsGN1tPLVCVNHmg76kQ8E1mwv+GG27cestQ4PvTZ69SFocBGpWa8+zHt/Up+IN+MhgLlUmnIE1CpBQB2COZibfpnXhHFaIZkYph0SOeeK/QJ8o7KOek84fkCWSBtfL+N" +
"y2MPpCkPFMH6PWEhWhKncIyEk69VfiUuVhqJefds+YcwNbEwxGqGIFWYAAAAASUVORK5CYII=')"
});
$close.click(function () {
if ($("#windowcenter").length > 0) {
$("#windowcenter").slideUp(500);
}
});
$title.append($close);
$window.append($title);
var $content = $('<div></div>');
$content.css({ "overflow": "auto", "padding": "10px", "color": "#222", "text-shadow": "0 1px 0 #FFFFFF" });
var $text = $('<div></div>');
$text.css({ "min-height": "30px", "font-size": "14px", "line-height": "20px" });
$text.text(text);
$content.append($text);
$window.append($content); if ($("#windowcenter").length > 0) {
$("#windowcenter").remove();
}
$("body").append($window);
$("#windowcenter").slideToggle("slow");
setTimeout('$("#windowcenter").slideUp(500)', 4000);
},
/*
*对话框
*/
message: function (text, hasCancel, callback) {
var $popTips = $('<div id="popTips" style="display: block;"></div>');
$popTips.css({ "position": "fixed", "z-index": "300", "left": "50%", "top": "20%", "width": "255px", "overflow": "hidden",
"margin-left": "-122px", "background-color": "#FBFBFB", "font-size": "14px", "text-align": "center", "border-radius": "5px"
});
$popTips.append('<div></div>'); var $popShow = $('<div></div>');
var $title = $('<h4>温馨提示</h4>');
$title.css({ "padding": "0", "margin": "0", "height": "34", "font-size": "16px", "border-bottom": "1px solid #EDEDED",
"line-height": "34px", "color": "#252E32"
});
$popShow.append($title);
var $text = $('<div>' + text + '</div>');
$text.css({ "font-size": "16px", "padding": "20px 0px", "background-color": "#FFF" });
$popShow.append($text);
var $popBtns = $('<div></div>');
$popBtns.css("text-align", "center");
var a_css = { "display": "block", "font-weight": "700", "height": "40px", "line-height": "40px", "border-top": "1px solid #E2E1E0",
"text-decoration": "none", "color": "#5B5B5B"
};
//取消事件或OK事件
var cancelEvent = function () {
if ($("#popTips").length > 0) {
$("#popTips").remove();
}
}
var $ok = $('<a href="javascript:void(0);">确定</a>');
$ok.css(a_css);
//有取消按钮并且有确定的回调函数,设置确定后调用回调函数并追加取消按钮同时设定取消事件
if (hasCancel && $.isFunction(callback)) {
$ok.click(callback);
//设置取消按钮和取消事件
$ok.css({ "width": "127px", "float": "right" });
var $cancel = $('<a style="clear:both;width:127px; float:left; border-right:1px solid #E2E1E0" href="javascript:void(0);">取消</a>');
$cancel.css(a_css);
$cancel.click(cancelEvent);
$popBtns.append($cancel);
} else {
$ok.click(cancelEvent);
}
$popBtns.append($ok);
$popShow.append($popBtns);
$popTips.append($popShow);
if ($("#popTips").length > 0) {
$("#popTips").remove();
}
$('body').append($popTips);
}
};

  页面上调用:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>测试</title>
<!--引用jQuery-->
<script src="js/jQuery.js" type="text/javascript"></script>
<script src="js/jquery.dialog.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#test").click(function () {
$.dialog.alert("123");
}); $("#testMessage").click(function () {
var ok = function () {
alert("点击确定了");
}
$.dialog.message("测试对话框", true, ok);
});
$("#testCancel").click(function () {
$.dialog.message("只有确定的对话框哦");
});
});
</script>
</head>
<body style="background-color: rgba(0,0,0,0.7);">
<input type="button" id="testMessage" value="有取消按钮" />
<input type="button" id="testCancel" value="没有取消按钮" />
<input type="button" id="test" value="测试" />
</body>
</html>

  看看效果:

jQuery手机对话框插件的更多相关文章

  1. 炫酷JQUERY自定义对话框插件JDIALOG_JDIALOG弹出对话框和确认对话框插件

    多种类型自定义对话框插件jDialog是一款基于jquery实现的轻量级多种类型的自定义对话框插件 在项目开发中.一般会美化 alert(); 的样式.那么今天我就和大家分享一款非常炫的插件 先来看一 ...

  2. Reveal Jquery 模式对话框插件

    /* * jQuery Reveal Plugin 1.0 * www.ZURB.com * Copyright 2010, ZURB * Free to use under the MIT lice ...

  3. jQuery cxDialog 对话框

    cxDialog 是基于 jQuery 的对话框插件,支持自定义外观样式,同时兼容 Zepto,方便在移动端使用. 版本: jQuery v1.7+ | Zepto v1.0+ jQuery cxDi ...

  4. jQuery Dialog弹出层对话框插件

    Dialog.js的相关注释已经添加,可以按照注释,进行相关样式的修改,适用于自定义的各个系统! dialog.js /** * jQuery的Dialog插件. * * @param object ...

  5. jQuery手机触屏拖动滑块验证跳转插件

    HTML: <!DOCTYPE html> <html lang="en"> <head> <title>jQuery手机触屏拖动滑 ...

  6. jquery简易版xwPop.js弹出消息对话框插件

    xwPop.js弹出消息对话框插件是一款含有多种情景模式的原生模态消息对话框代码,可用于替代浏览器默认的alert弹出对话框,它提供各种参数和方法,功能非常强大.目前已经在项目中有应用到xwpop开发 ...

  7. 20款美化网站的 jQuery Lightbox 灯箱插件

    jQuery Lightbox 灯箱插件可以让你为您的网站和应用程序展示优雅的图像,视频 和其它内容(使用模式窗口).如果你是一个开发人员,你必须拥有 jQuery 灯箱插件集合,因为有一部分的客户会 ...

  8. 三、jQuery--jQuery基础--jQuery基础课程--第10章 jQuery UI型插件

    1.拖曳插件——draggable 拖曳插件draggable的功能是拖动被绑定的元素,当这个jQuery UI插件与元素绑定后,可以通过调用draggable()方法,实现各种拖曳元素的效果,调用格 ...

  9. 7款个性化jQuery/HTML5地图插件

    现在我们经常会用到一些地图应用,无论是在网页上还是手机App中,地图貌似是一个不可或缺的应用.本文将带领大家一起来看看一些基于jQuery和HTML5的个性化地图插件,有几款地图比较实用,有些则是具有 ...

随机推荐

  1. SICP 练习 (2.12)解决摘要 :不同的实现时间

    SICP 2.12 要求我们定义一个构造函数make-center-percent,它接收两个參数,分别代表中心点和一个误差百分比.我们须要通过这个构造函数产生一个区间.此外还须要定义一个选择函数pe ...

  2. HBase加Solr

    HBase加Solr 如何解决分布式系统数据事务一致性问题 (HBase加Solr) 摘要:对于所有的分布式系统,我想事务一致性问题是极其非常重要的问题,因为它直接影响到系统的可用性.本文以下所述所要 ...

  3. update值与原值相同时,SQL Server会真的去update还是忽略呢?

    原文:update值与原值相同时,SQL Server会真的去update还是忽略呢? 考虑下面的情况: 当update值与原值相同时,SQL Server会真的去update还是忽略?例如: upd ...

  4. UVa 740 - Baudot Data Communication Code

    称号:目前编码,他们shift键被按下,并提出,对应的两个编码,其中,2相应的编码shift操作. 给你适当的编码值.寻求相应的字符串. 分析:模拟.字符串. 简单题,标记shift的升降分类处理就可 ...

  5. CocoaPods 建立私有仓库

    CocoaPods是iOS,Mac下优秀的第三方包管理工具,类似于java的maven,给我们项目管理带来了极大的方便. [个人或公司在开发过程中,会积累很多可以复用的代码包,有些我们不想开源,又想像 ...

  6. android网络操作使用汇总(http)

    Android是作为智能手机的操作系统,我们开发的应用,大多数也都须要连接网络,通过网络发送数据.获取数据,因此作为一个应用开发人员必须熟悉怎么进行网络訪问与连接. 通常android中进行网络连接通 ...

  7. 项目管理实践 -- 健身小管家(Fitness housekeeper)的管理

      最近在网上看到一篇文章<王石:我每天都强迫自己做的一件事>,[http://blog.sina.com.cn/s/blog_4dfc1c330102v0d0.html] 原始链接不详. ...

  8. linux简单的数据包捕获分析

    有时我们会遇到一些问题,需要捕捉数据包分析,当手头有没有专业的抓图工具,您可以使用tcpdump相反,看看(一般版本附带这个工具) 比如,我们要分析eth0与接口192.168.7.188 这个对象I ...

  9. Python超级明星WEB框架Flask

    Flask简介 Flask是一个相对于Django而言轻量级的Web框架. 和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug和模 ...

  10. php 链接中加参数传递

    原文:php 链接中加参数传递 php链接中加参数是在源链接中加"?",问号之后就可以跟参数列表,para1=value1&para2=value2&para3=v ...