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 相关文章推荐
js function使用心得
May 10 Javascript
异步动态加载js与css文件的js代码
Sep 15 Javascript
jquery学习总结(超级详细)
Sep 04 Javascript
Js+php实现异步拖拽上传文件
Jun 23 Javascript
学习JavaScript设计模式(多态)
Nov 25 Javascript
学习vue.js条件渲染
Dec 03 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
Dec 20 Javascript
使用JavaScript开发跨平台的桌面应用详解
Jul 27 Javascript
微信小程序 本地图片按照屏幕尺寸处理
Aug 04 Javascript
React Native 使用Fetch发送网络请求的示例代码
Dec 02 Javascript
解决layui 表单元素radio不显示渲染的问题
Sep 04 Javascript
解决vue项目F5刷新mounted里的函数不执行问题
Nov 05 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
咖啡豆分级制度 咖啡豆等级分类 咖啡豆是按口感分类的吗?
2021/03/05 新手入门
PHP一些有意思的小区别
2006/12/06 PHP
写php分页时出现的Fatal error的解决方法
2011/04/18 PHP
php用户注册时常用的检验函数实例总结
2014/12/22 PHP
PHP整合PayPal支付
2015/06/11 PHP
ecshop适应在PHP7的修改方法解决报错的实现
2016/11/01 PHP
PHP实现单例模式建立数据库连接的方法分析
2020/02/11 PHP
Div自动滚动到末尾的代码
2008/10/26 Javascript
实现超用户体验 table排序javascript实现代码
2009/06/22 Javascript
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
javascript实现的HashMap类代码
2014/06/27 Javascript
jQuery+canvas实现的球体平抛及颜色动态变换效果
2016/01/28 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
js编写的treeview使用方法
2016/11/11 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
详解js中Array的方法及技巧
2018/09/12 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
element-ui的回调函数Events的用法详解
2018/10/16 Javascript
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
python实现人民币大写转换
2018/06/20 Python
在ubuntu16.04中将python3设置为默认的命令写法
2018/10/31 Python
Python OpenCV视频截取并保存实现代码
2019/11/30 Python
基于css3实现漂亮便签样式
2013/03/18 HTML / CSS
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
Qoo10马来西亚:全球时尚和引领潮流的购物市场
2016/08/25 全球购物
试述DBMS的主要功能
2016/11/13 面试题
初任培训自我鉴定
2013/10/07 职场文书
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
2014年重阳节敬老活动方案
2014/09/16 职场文书
检查机关领导群众路线教育实践活动个人整改措施
2014/10/28 职场文书
田径运动会广播稿
2015/08/19 职场文书
Nginx设置日志打印post请求参数的方法
2021/03/31 Servers
单身狗福利?Python爬取某婚恋网征婚数据
2021/06/03 Python
Vue 打包后相对路径的引用问题
2022/06/05 Vue.js
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android