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实现加载等待效果示例
Sep 25 Javascript
angularJS结合canvas画图例子
Feb 09 Javascript
javascript特殊日历控件分享
Mar 07 Javascript
不能不知道的10个angularjs英文学习网站
Mar 23 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
Mar 30 Javascript
有关文件上传 非ajax提交 得到后台数据问题
Oct 12 Javascript
关于JavaScript中事件绑定的方法总结
Oct 26 Javascript
[js高手之路]原型式继承与寄生式继承详解
Aug 28 Javascript
简单谈谈关于Angular Cli打包的事
Sep 05 Javascript
JavaScript学习笔记之图片库案例分析
Jan 08 Javascript
Vue父组件如何获取子组件中的变量
Jul 24 Javascript
vue中touch和click共存的解决方式
Jul 28 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
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
javascript 自动转到命名锚记
2009/01/10 Javascript
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
JavaScript 基础知识 被自己遗忘的
2009/10/15 Javascript
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
使用Grunt.js管理你项目的应用说明
2013/04/24 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
简介JavaScript中getUTCMonth()方法的使用
2015/06/10 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
JavaScript实现多种排序算法
2016/02/24 Javascript
jQuery UI库中dialog对话框功能使用全解析
2016/04/23 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
详解node如何让一个端口同时支持https与http
2017/07/04 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
2018/03/13 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
2020/12/30 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
[02:04]2016国际邀请赛中国区预选赛VG.R晋级之路
2016/07/01 DOTA
[14:21]VICI vs EG (BO3)
2018/06/07 DOTA
解决python写的windows服务不能启动的问题
2014/04/15 Python
python实现根据用户输入从电影网站获取影片信息的方法
2015/04/07 Python
整理Python最基本的操作字典的方法
2015/04/24 Python
Scrapy-redis爬虫分布式爬取的分析和实现
2017/02/07 Python
tensorflow 获取变量&amp;打印权值的实例讲解
2018/06/14 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
2019/01/19 Python
比利时的在线灯具店:Lampen24.be
2019/07/01 全球购物
在校生钳工实习自我鉴定
2013/09/19 职场文书
好矿嫂事迹材料
2014/01/21 职场文书
大学生入党推荐书范文
2014/05/17 职场文书
冬季安全检查方案
2014/05/23 职场文书
小学生教师节演讲稿
2014/09/03 职场文书
综合素质自我评价怎么写
2014/09/14 职场文书
2014年变电站工作总结
2014/12/19 职场文书
武侯祠导游词
2015/02/04 职场文书
学生安全责任协议书
2016/03/22 职场文书
图文详解matlab原始处理图像几何变换
2021/07/09 Python