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 相关文章推荐
Javascript之文件操作
Mar 07 Javascript
jQuery学习笔记之jQuery的事件
Dec 22 Javascript
jQuery数据缓存功能的实现思路及简单模拟
May 27 Javascript
jQuery多个input求和的实现方法
Feb 12 Javascript
js闭包实现按秒计数
Apr 23 Javascript
jquery中trigger()无法触发hover事件的解决方法
May 07 Javascript
jQuery复制表单元素附源码分享效果演示
Sep 30 Javascript
深入理解jQuery事件绑定
Jun 02 Javascript
详解Angular Reactive Form 表单验证
Jul 06 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
Jan 15 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
Sep 09 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
Feb 01 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连接MySQL代码的参数说明
2008/06/07 PHP
PHP 动态随机生成验证码类代码
2010/04/09 PHP
PHP向socket服务器收发数据的方法
2015/01/24 PHP
PHP 错误处理机制
2015/07/06 PHP
php编程每天必学之验证码
2016/03/03 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
Bootstrap+PHP实现多图上传功能实例详解
2018/04/08 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
ThinkPHP 5.x远程命令执行漏洞复现
2019/09/23 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
解析jquery中的ajax缓存问题
2013/12/19 Javascript
JavaScript中获取鼠标位置相关属性总结
2014/10/11 Javascript
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
2015/12/26 Javascript
JS数组去重(4种方法)
2017/03/27 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
详解node Async/Await 更好的异步编程解决方案
2018/05/10 Javascript
Vue2.X 通过AJAX动态更新数据
2018/07/17 Javascript
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
JavaScript学习笔记之图片库案例分析
2019/01/08 Javascript
微信小程序实现左侧滑栏过程解析
2019/08/26 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
pandas系列之DataFrame 行列数据筛选实例
2018/04/12 Python
Python中staticmethod和classmethod的作用与区别
2018/10/11 Python
详解python中list的使用
2019/03/15 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
利用python实现.dcm格式图像转为.jpg格式
2020/01/13 Python
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
劳动竞赛活动方案
2014/02/20 职场文书
开学季活动策划方案
2014/02/28 职场文书
晚会闭幕词
2015/01/28 职场文书
行政处罚事先告知书
2015/07/01 职场文书