基于jQuery的弹出消息插件 DivAlert之旅(一)


Posted in Javascript onApril 01, 2010

想着自己学习Javascript,以及Ajax、jQuery等已经有一段时间了,不过貌似还没有写过一个插件,看到jQuery官网上那么多令人眼前一亮的插件,自己今天也动心说是不是能够写一个类似的插件来瞧瞧,了解了jQuery插件的基本格式,理一下基本的思路,动工吧。。。

这个DivAlert插件,顾名思义就是页面弹出框,也就相当于Winform里面MessageBox.Show()那样的东西。

首先,我们来定义一下一些最基本的参数:
插件初始化

(function($) { 
$.jDivAlert = function(o) { 
//设置插件基本信息 
var options = o || {}; 
options.width = o.width || 300; 
options.height = o.height || 200; 
options.title = o.title || "提示标题"; 
options.content = o.content || "提示内容";

随后定义一个创建页面元素的方法,这样可以重用,简写js:

function createElement(obj) { 
return $(document.createElement(obj)); 
}

创建背景div及设定样式

var $bgDiv = createElement('div') 
.css({ 'position': 'absolute', 'top': '0', 'left': '0', 'z-index': '9999', 'filter': 'alpha(opacity=70)', 'backgroundColor': '#999', 'opacity': '0.7', 'width': document.documentElement.clientWidth + "px", 'height': document.documentElement.clientHeight + "px" }) 
.appendTo('body');

创建提示div
var $outDiv = createElement('div') 
.css({ 'position': 'absolute', 'top': ($(window).height() - options.height) / 2 + $(window).scrollTop() + 'px', 'left': ($(window).width() - options.width) / 2 + $(window).scrollLeft() + 'px', 'border': '1px solid #cef', 'zIndex': '10000', 'width': options.width + 'px', 'height': options.height + 'px', 'overflow': 'hidden' }) 
.appendTo('body');

创建提示div的标题部分
var $titDiv = createElement("div") 
.css({ 'textAlign': 'left', 'backgroundColor': '#54A1D9', 'padding': '8px', 'cursor': 'move', 'height': '20px', 'vertical-align': 'middle' }) 
.html(options.title) 
.appendTo($outDiv);

创建提示div的内容部分
var $conDiv = createElement("div") 
.css({ 'backgroundColor': '#fff', 'textAlign': 'center', 'padding': '12px', 'height': options.height - $titDiv.outerHeight() }) 
.html(options.content) 
.appendTo($outDiv);

创建关闭按钮
var $clsBtn = createElement("img") 
.attr('src', 'del.gif') 
.css({ 'cursor': 'pointer', 'float': 'right' }) 
.click(close) 
.appendTo($titDiv);

创建弹出框关闭事件:

function close() { 
$bgDiv.fadeOut(); 
$outDiv.fadeOut(); 
} 
} 
})(jQuery);

要看到使用效果,在页面script部分加入如下代码即可(当然jQuery库文件不可少啊,现在最新版是1.4.2,可以去官网http://www.jQuery.com下载):

$(document).ready(function() { 
$.jDivAlert({ 
width: 300, 
height: 300 
}); 
});

貌似还有很多功能有待完善,哎。。继续努力。。。
打包下载地址

基于jQuery的弹出消息插件 DivAlert之旅(一)

基于jQuery的消息提示插件 DivAlert之旅(二)

基于jQuery的消息提示插件 DivAlert之旅(三) 推荐

Javascript 相关文章推荐
js类中的公有变量和私有变量
Jul 24 Javascript
javascript alert乱码的解决方法
Nov 05 Javascript
js父窗口关闭时子窗口随之关闭完美解决方案
Apr 29 Javascript
JavaScript中的函数重载深入理解
Aug 04 Javascript
jQuery CSS3相结合实现时钟插件
Jan 08 Javascript
JavaScript 函数模式详解及示例
Sep 07 Javascript
AngularJS  ng-table插件设置排序
Sep 21 Javascript
Bootstrap table右键功能实现方法
Feb 20 Javascript
vue2.0 elementUI制作面包屑导航栏
Feb 22 Javascript
vue slots 组件的组合/分发实例
Sep 06 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
Feb 01 Javascript
jQuery操作元素的内容和样式完整实例分析
Jan 10 jQuery
基于jquery的tab切换 js原理
Apr 01 #Javascript
JQuery 选项卡效果(JS与HTML的分离)
Apr 01 #Javascript
JQuery Tab选项卡效果代码改进版
Apr 01 #Javascript
JQuery autocomplete 使用手册
Apr 01 #Javascript
JavaScript 弹出窗体点击按钮返回选择数据的实现
Apr 01 #Javascript
js 实现打印网页中定义的部分内容的代码
Apr 01 #Javascript
js prototype截取字符串函数
Apr 01 #Javascript
You might like
使用Apache的rewrite技术
2006/06/22 PHP
php面向对象全攻略 (八)重载新的方法
2009/09/30 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
解决php接收shell返回的结果中文乱码问题
2014/01/23 PHP
兼容ie6浏览器的php下载文件代码分享
2014/07/14 PHP
PHP Static延迟静态绑定用法分析
2016/03/16 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
jquery获取下拉列表的值为null的解决方法
2011/03/18 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
JQuery设置文本框和密码框得到焦点时的样式
2013/08/30 Javascript
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
JavaScript使用addEventListener添加事件监听用法实例
2015/06/01 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
javascript的正则匹配方法学习
2016/02/24 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
2016/03/01 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
vue + webpack如何绕过QQ音乐接口对host的验证详解
2018/07/01 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
2019/03/29 Javascript
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
详解Python多线程Selenium跨浏览器测试
2017/04/01 Python
使用Python横向合并excel文件的实例
2018/12/11 Python
Python队列、进程间通信、线程案例
2019/10/25 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
2020/05/15 Python
用pandas划分数据集实现训练集和测试集
2020/07/20 Python
css3实现的下拉菜单效果示例
2014/01/22 HTML / CSS
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
Jack Rogers官网:美国经典的女性鞋靴品牌
2019/09/04 全球购物
几个SQL的面试题
2014/03/08 面试题
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
代办委托书怎么写
2014/08/01 职场文书
检讨书1000字
2014/10/11 职场文书
大学生简历自我评价2015
2015/03/03 职场文书
2016年优秀团员事迹材料
2016/02/25 职场文书
导游词之无锡梅园
2019/11/28 职场文书
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python