基于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添加输出窗口的代码
Feb 07 Javascript
Firebug入门指南(Firefox浏览器)
Aug 21 Javascript
js运动框架_包括图片的淡入淡出效果
May 11 Javascript
javascript计时器事件使用详解
Jan 07 Javascript
js为什么不能正确处理小数运算?
Dec 29 Javascript
JS中parseInt()和map()用法分析
Dec 16 Javascript
AngulerJS学习之按需动态加载文件
Feb 13 Javascript
jQuery插件Echarts实现的渐变色柱状图
Mar 23 jQuery
axios 处理 302 状态码的解决方法
Apr 10 Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
Nov 22 Javascript
微信小程序云开发如何使用云函数生成二维码
May 18 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
Aug 20 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
DOTA2 探索永无止境 玩家自创强悍插眼攻略
2020/04/20 DOTA
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
分享5个非常有用的Laravel Blade指令
2018/05/30 PHP
jQuery Selector选择器小结
2010/05/06 Javascript
基于jQuery的弹出框插件
2012/03/18 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
详解javascript new的运行机制
2016/01/26 Javascript
Angular2 (RC4) 路由与导航详解
2016/09/21 Javascript
Javascrip实现文字跳动特效
2016/11/27 Javascript
基于Node.js + WebSocket打造即时聊天程序嗨聊
2016/11/29 Javascript
浅析vue component 组件使用
2017/03/06 Javascript
Angular中实现树形结构视图实例代码
2017/05/05 Javascript
JS请求servlet功能示例
2017/06/01 Javascript
Vue-cli创建项目从单页面到多页面的方法
2017/09/20 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
socket在egg中的使用实例代码详解
2019/05/30 Javascript
ES6中的类(Class)示例详解
2020/12/09 Javascript
Python遍历指定文件及文件夹的方法
2015/05/09 Python
Python的Django框架安装全攻略
2015/07/15 Python
理解Python中的绝对路径和相对路径
2017/08/30 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
2020/04/23 Python
python Tornado框架的使用示例
2020/10/19 Python
德国最新街头服饰网上商店:BODYCHECK
2019/09/15 全球购物
乌克兰数字设备、配件和智能技术的连锁商店:KTC
2020/08/18 全球购物
档案检查欢迎词
2014/01/13 职场文书
人事部经理岗位职责
2014/03/07 职场文书
挂牌仪式主持词
2014/03/20 职场文书
公司联欢晚会主持词
2014/03/22 职场文书
出国留学计划书
2014/04/27 职场文书
土建施工员岗位职责
2014/07/16 职场文书
德育标兵事迹材料
2014/08/24 职场文书
2015年师德表现自我评价
2015/03/05 职场文书
2015年爱国卫生月活动总结
2015/03/26 职场文书
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技