javascript jQuery插件练习

2016-02-19 16:06 3 1 收藏

下面图老师小编跟大家分享一个简单易学的javascript jQuery插件练习教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

【 tulaoshi.com - Web开发 】

简化后的插件:
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'ulli提示/li/ulinput 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'ulli提示/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;
}

来源:http://www.tulaoshi.com/n/20160219/1611063.html

延伸阅读
标签: Web开发
jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。 jQuery.fn.extend(object);给jQuery对象添加方法。 fn 是什么东西呢。查看jQuery代码,就不难发现。 代码如下: jQuery.fn = jQuery.prototype = { init: function(...
标签: Web开发
概述 jQuery 是继 prototype 之后又一个优秀的 Javascript 框架。其宗旨是写更少的代码,做更多的事情。它是轻量级的 js 库(压缩后只有21k) ,这是其它的 js 库所不 及的,它兼容 CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。 jQuery 是一个快速的,简洁的 javaScript 库,使用户能更方便地处理 HTML documents、even...
标签: Web开发
简单使用方法: 代码如下: html head titleJQuery-Cookie插件/title script type="text/javascript" src="jquery-1.4.js"/script script type="text/javascript" src="jquery.cookie.js"/script /head body a href="#"设置cookie1/abr a href="#"设置cookie2/abr a href="#"获取cookie/abr a href="#"删除cookie/abr /body /...
标签: Web开发
什么是ImageLazyLoad技术 在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的交互。尤其是对于高清晰的图片,占的几M的空间。ImageLazyLoad技术就是,当前可见界面的图片是加载进来的,而不可见页面(通过滚动条下拉可见)中的图片是不加载的,这样势必会引起速度上质的提升。 怎么实现ImageLazyLoad 一、使用JQuery...
标签: Web开发
熟悉jquery的家伙大概花个5到10分钟就可以搞定了吧。由于这种导 航效果比较通用,LEVIN顺手写了个 jquery插件~ 如果你的网站也需要类似的效果,大可拿去直接用或者扩展下:) 如果你也想尝试将某些可重用功能封 装成jquery插件,别忘了看看一般的jquery插件开发过程,另外还有偶的一个jquery插件模板。 代码如下: ;(function($) { //...

经验教程

517

收藏

78
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部