基于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 相关文章推荐
javascript实现面向对象类的功能书写技巧
Mar 07 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
Sep 30 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
Jul 18 Javascript
向JavaScript的数组中添加元素的方法小结
Oct 24 Javascript
javascript合并表格单元格实例代码
Jan 03 Javascript
jquery 将当前时间转换成yyyymmdd格式的实现方法
Jun 01 Javascript
AngularJS入门教程之Cookies读写操作示例
Nov 02 Javascript
JS获取填报扩展单元格控件的值的解决办法
Jul 14 Javascript
利用纯JS实现像素逐渐显示的方法示例
Aug 14 Javascript
js实现鼠标单击Tab表单切换效果
May 16 Javascript
JavaScript实现的开关灯泡点击切换特效示例
Jul 08 Javascript
JS中锚点链接点击平滑滚动并自由调整到顶部位置
Feb 06 Javascript
基于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
让PHP COOKIE立即生效,不用刷新就可以使用
2011/03/09 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
php Hex RGB颜色值互换的使用
2013/05/10 PHP
php中Ctype函数用法详解
2014/12/09 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
PHP通过文件路径获取文件名的实例代码
2018/10/14 PHP
PHP检测一个数组有没有定义的方法步骤
2019/07/20 PHP
Prototype RegExp对象 学习
2009/07/19 Javascript
JavaScript 对象的属性和方法4种不同的类型
2010/03/19 Javascript
javascript客户端解决方案 缓存提供程序
2010/07/14 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
js截取固定长度的中英文字符的简单实例
2013/11/22 Javascript
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
jQuery模拟点击A标记示例参考
2014/04/17 Javascript
浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
2016/01/19 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
2016/12/02 Javascript
H5上传本地图片并预览功能
2017/05/08 Javascript
bootstrap table表格插件使用详解
2017/05/08 Javascript
js尾调用优化的实现
2019/05/23 Javascript
微信小程序中button去除默认的边框实例代码
2019/08/01 Javascript
javascript for循环性能测试示例
2019/08/07 Javascript
基于JS实现操作成功之后自动跳转页面
2020/09/25 Javascript
Python3中的2to3转换工具使用示例
2015/06/12 Python
Python 搭建Web站点之Web服务器网关接口
2016/11/06 Python
Python错误处理操作示例
2018/07/18 Python
Python数据可视化之画图
2019/01/15 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
keras .h5转移动端的.tflite文件实现方式
2020/05/25 Python
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
2014/08/19 HTML / CSS
周仰杰(JIMMY CHOO)英国官方网站:闻名世界的鞋子品牌
2018/10/28 全球购物
J2EE面试题大全
2016/08/06 面试题
中学教师师德师风演讲稿
2014/08/22 职场文书
Golang 实现获取当前函数名称和文件行号等操作
2021/05/08 Golang
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android