基于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 相关文章推荐
JScript中使用ADODB.Stream判断文件编码的代码
Jun 09 Javascript
让firefox支持IE的一些方法的javascript扩展函数代码
Jan 02 Javascript
JS学习之一个简易的日历控件
Mar 24 Javascript
jQuery学习之prop和attr的区别示例介绍
Nov 15 Javascript
js图片轮播手动切换效果
Nov 10 Javascript
jQuery实现选项卡切换效果简单演示
Dec 09 Javascript
Vue.JS入门教程之事件监听
Dec 01 Javascript
jquery实现input框获取焦点的方法
Feb 06 Javascript
JS中Promise函数then的奥秘探究
Jul 30 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
Sep 22 Javascript
Vue实现指令式动态追加小球动画组件的步骤
Dec 18 Vue.js
Vue中ref和$refs的介绍以及使用方法示例
Jan 11 Vue.js
基于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+javascript模拟Matrix画面
2006/10/09 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
CI框架入门之MVC简单示例
2016/11/21 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
php实现推荐功能的简单实例
2019/09/29 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
2014/12/12 Javascript
JavaScript实现添加及删除事件的方法小结
2015/08/04 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
基于bootstrap实现广告轮播带图片和文字效果
2016/07/22 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
AngularJS中directive指令使用之事件绑定与指令交互用法示例
2016/11/22 Javascript
vue-router:嵌套路由的使用方法
2017/02/21 Javascript
微信小程序 扎金花简单实例
2017/02/21 Javascript
JavaScript中Promise的使用详解
2017/02/26 Javascript
详解angularjs的数组传参方式的简单实现
2017/07/28 Javascript
layui获取选中行数据的实例讲解
2018/08/19 Javascript
浅谈Vue数据响应思路之数组
2018/11/06 Javascript
webpack4实现不同的导出类型
2019/04/09 Javascript
layUI实现前端分页和后端分页
2019/07/27 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
js实现课堂随机点名系统
2019/11/21 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
2020/07/15 Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
2020/08/08 Javascript
Python如何实现MySQL实例初始化详解
2017/11/06 Python
Windows 7下Python Web环境搭建图文教程
2018/03/20 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2020/02/26 Python
PyTorch的torch.cat用法
2020/06/28 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
python 实现百度网盘非会员上传超过500个文件的方法
2021/01/07 Python
美国高端医师级美容产品电商:BeautifiedYou.com
2017/04/17 全球购物
2015年小学辅导员工作总结
2015/05/27 职场文书