基于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 相关文章推荐
在线编辑器的实现原理(兼容IE和FireFox)
Mar 09 Javascript
改版了网上的一个js操作userdata
Apr 27 Javascript
基于JQuery框架的AJAX实例代码
Nov 03 Javascript
jquery之empty()与remove()区别说明
Sep 10 Javascript
Jquery获取元素的父容器对象示例代码
Feb 10 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
Nov 05 Javascript
Javascript实现base64的加密解密方法示例
Jun 27 Javascript
Vue写一个简单的倒计时按钮功能
Apr 20 Javascript
vue如何将v-for中的表格导出来
May 07 Javascript
vue中使用vee-validator完成表单校验方案
Nov 01 Javascript
H5实现手机拍照和选择上传功能
Dec 18 Javascript
JS实现音乐导航特效
Jan 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 手机归属地查询 api
2010/02/08 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
php中final关键字用法分析
2016/12/07 PHP
php支付宝系列之电脑网站支付
2018/05/30 PHP
PHP进阶学习之反射基本概念与用法分析
2019/06/18 PHP
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
用js实现控制内容的向上向下滚动效果
2007/06/26 Javascript
CLASS_CONFUSION JS混淆 全源码
2007/12/12 Javascript
JQuery的AJAX实现文件下载的小例子
2013/05/15 Javascript
Highcharts使用简例及异步动态读取数据
2015/12/30 Javascript
基于Bootstrap+jQuery.validate实现表单验证
2016/05/30 Javascript
详解js的事件处理函数和动态创建html标记方法
2016/12/16 Javascript
js实现京东轮播图效果
2017/06/30 Javascript
Vue 让元素抖动/摆动起来的实现代码
2018/05/31 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
python开发之thread实现布朗运动的方法
2015/11/11 Python
编写Python小程序来统计测试脚本的关键字
2016/03/12 Python
基于Python中求和函数sum的用法详解
2018/06/28 Python
python实现批量视频分帧、保存视频帧
2019/05/31 Python
python 随机森林算法及其优化详解
2019/07/11 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
Python venv虚拟环境配置过程解析
2020/07/08 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
学生会招新策划书
2014/02/14 职场文书
《神奇的克隆》教学反思
2014/04/10 职场文书
市场开发计划书
2014/05/07 职场文书
企业文明单位申报材料
2014/05/16 职场文书
解放思想演讲稿
2014/09/11 职场文书
2014年学习全国道德模范事迹思想汇报
2014/09/15 职场文书
招标授权委托书样本
2014/09/23 职场文书
邀请函格式范文
2015/02/02 职场文书
解除劳动合同通知书范本
2015/04/16 职场文书
工程项目合作意向书
2015/05/08 职场文书
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python
实操Python爬取觅知网素材图片示例
2021/11/27 Python
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL