javascript jQuery插件练习


Posted in Javascript onDecember 24, 2008

简化后的插件:
SimplePlugin.htm:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head> 
<title>简化后的插件</title> 
<script type="text/ecmascript" src="../js/jquery-1.2.6.js"></script> 
<script type="text/ecmascript" src="../js/jquery.SimplePlugin.js"></script> 
<script type="text/ecmascript"> 
$(function() { 
$("input").click(function(){ 
$("body").dialog(); 
}) 
}); 
function f(){ 
$("body").find("#MaskID").hide(1000); 
$("body").find("#DivDialog").hide(1000); 
} 
</script> 
</head> 
<body> 
<input type="button" value="hi plugin" /> 
</body> 
</html>

jquery.SimplePlugin.js:

$.fn.dialog=function(){ 
this.MaskDiv=function()//自定义一个函数 
{ 
//创建遮罩背景,这里没有设置透明度,为了简单。zIndex决定了遮罩。 
$("body").append("<div ID=MaskID></div>"); 
$("body").find("#MaskID").width("888px").height("666px") 
.css({position:"absolute",top:"0px",left:"0px",background:"#ccc",zIndex:"10000"}); 
} 
this.MaskDiv();//调用自定义函数。 
$("body").append("<div ID=DivDialog style='display:none'><ul><li>提示</li></ul><input type='button' value='close' onclick='f();' /></div>"); 
var obj=$("body").find("#DivDialog"); 
obj.width("200px").height("200px"); 
obj.css({position:"absolute",top:"100px",left:"100px",background:"#FFCC66",zIndex:"10001"}).show("slow"); return this; 
}

完整的插件:
myplugin.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>练习jQuery插件</title> 
<script type="text/ecmascript" src="../js/jquery-1.2.6.js"></script> 
<script type="text/ecmascript" src="../js/jquery.firstplugin.js"> </script> 
<script type="text/ecmascript" src="../js/jquery.dialog.js"></script> 
<style type='text/css'> 
*{padding:0; margin:0} /*此行样式一定要加,不然可能会引起BUG出现。*/ #MyDiv{ 
position:absolute; 
width:200px; 
height:200px; 
font-size:12px; 
background:#666; 
border:1px solid #000; 
z-index:10001; 
display:none; 
text-align:center; 
} 
</style> 
<script type="text/ecmascript"> 
$(document).ready(function() { 
$("input").click(function(){ 
$("body").dialog(); 
}) 
}) 
</script> 
</head> 
<body> 
<div> 
<input type="button" value="hi plugin" /> 
</div> 
</body> 
</html>

jquery.dialog.js:
// JScript 文件 
$.fn.dialog=function(){ 
this.MaskDiv=function()//自定义一个函数 
{ 
var wnd = $(window), doc = $(document); 
if(wnd.height() > doc.height()){ //当高度少于一屏 
wHeight = wnd.height(); 
}else{//当高度大于一屏 
wHeight = doc.height(); 
} 
//创建遮罩背景 
$("body").append("<div ID=MaskID></div>"); 
$("body").find("#MaskID").width(wnd.width()).height(wHeight) 
.css({position:"absolute",top:"0px",left:"0px",background:"#ccc",filter:"Alpha(opacity=90);",opacity:"0.3",zIndex:"10000"}); 
} 
this.sPosition=function(obj)//自定义一个带参数的函数 
{ 
var MyDiv_w = parseInt(obj.width()); 
var MyDiv_h = parseInt(obj.height()); var width =parseInt($(document).width()); 
var height = parseInt($(window).height()); 
var left = parseInt($(document).scrollLeft()); 
var top = parseInt($(document).scrollTop()); 
var Div_topposition = top + (height / 2) - (MyDiv_h / 2); //计算上边距 
var Div_leftposition = left + (width / 2) - (MyDiv_w / 2); //计算左边距 
return Array(Div_topposition,Div_leftposition); 
} 
this.MaskDiv(); 
$("body").append("<div ID=DivDialog style='display:none'><ul><li>提示</li></ul></div>"); 
var obj=$("body").find("#DivDialog"); 
obj.width("200px").height("200px"); 
PosT=this.sPosition(obj); 
obj.css({position:"absolute",top:PosT[0]+"px",left:PosT[1]+"px",background:"#FFCC66",zIndex:"10001"}).show("slow"); 
return this; 
}
Javascript 相关文章推荐
jquery解决图片路径不存在执行替换路径
Feb 06 Javascript
js open() 与showModalDialog()方法使用介绍
Sep 10 Javascript
详细介绍8款超实用JavaScript框架
Oct 25 Javascript
DOM操作一些常用的属性汇总
Mar 13 Javascript
JavaScript中的splice()方法使用详解
Jun 09 Javascript
jQuery超赞的评分插件(8款)
Aug 20 Javascript
javascript实现五星评分功能
Nov 10 Javascript
基于BootStarp的Dailog
Apr 28 Javascript
浅谈react 同构之样式直出
Nov 07 Javascript
如何基于vue-cli3.0构建功能完善的移动端架子
Apr 24 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
Apr 08 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
Apr 21 Javascript
javascript 动态数据下的锚点错位问题解决方法
Dec 24 #Javascript
javascript 网页跳转的方法
Dec 24 #Javascript
javascript prototype,executing,context,closure
Dec 24 #Javascript
JavaScript 事件参考手册
Dec 24 #Javascript
javascript XML数据显示为HTML一例
Dec 23 #Javascript
window.location和document.location的区别分析
Dec 23 #Javascript
javascript 硬盘序列号+其它硬件信息
Dec 23 #Javascript
You might like
基于php冒泡排序算法的深入理解
2013/06/09 PHP
解析php入库和出库
2013/06/25 PHP
PHP入门经历和学习过程分享
2014/04/11 PHP
ThinkPHP中自定义目录结构的设置方法
2014/08/15 PHP
通过php修改xml文档内容的方法
2015/01/23 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
2010/03/09 Javascript
深入理解JavaScript系列(13) This? Yes,this!
2012/01/18 Javascript
基于zepto.js简单实现上传图片
2016/06/21 Javascript
详细讲解JavaScript中的this绑定
2016/10/10 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
2017/09/28 Javascript
js 获取json数组里面数组的长度实例
2017/10/31 Javascript
vue 本地服务不能被外部IP访问的完美解决方法
2018/10/29 Javascript
跨域请求两种方法 jsonp和cors的实现
2018/11/11 Javascript
小程序文字跑马灯效果
2018/12/28 Javascript
js中数组常用方法总结(推荐)
2019/04/09 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
Vue3.0的优化总结
2020/10/16 Javascript
如何利用nodejs自动定时发送邮件提醒(超实用)
2020/12/01 NodeJs
[01:46]TI4西雅图DOTA2前线报道 中国选手抱团调时差
2014/07/08 DOTA
[01:04:39]OG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
wxPython窗口中文乱码解决方法
2014/10/11 Python
Python编码类型转换方法详解
2016/07/01 Python
python用装饰器自动注册Tornado路由详解
2017/02/14 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
django下创建多个app并设置urls方法
2020/08/02 Python
Windows下Sqlmap环境安装教程详解
2020/08/04 Python
哈利波特商店:Harry Potter Shop
2018/11/30 全球购物
美国浴缸、水槽和水龙头购物网站:Vintage Tub & Bath
2019/11/05 全球购物
2014全国两会学习心得体会2000字
2014/03/10 职场文书
新年主持词
2014/03/27 职场文书
小学秋季运动会通讯稿
2015/11/25 职场文书
react 路由Link配置详解
2021/11/11 Javascript
Golang 实现 WebSockets 之创建 WebSockets
2022/04/24 Golang