jquery傻瓜基础教程之教你如何制作简单的dialog插件
2013-03-22 16:41
751 查看
转自:http://space.itpub.net/14734416/viewspace-474627
很多朋友都在跃跃欲试 打算打造自己的jquery插件,
我是 烦透了了jquery ui的dialog插件,所以突发奇想 自己写一个。先申明 就是随便这么一写,太多的还没有完善,之所以贴出来就是给大家一个参考。
下面大家跟我一起打造一个jquery dialog插件
首先创建一个插件
$.fn.dialog=function(){
}
下面我们首先考虑 当您要现实的信息弹出来的时候,文档上面有一个遮罩层是必需的
那我们来编写一个遮罩层
$.fn.dialog=function(){
this.MaskDiv=function()
{
var wnd = $(window), doc = $(document);
//alert(doc.height());
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"});
}
}
注:这个遮罩函数 也不怎么复杂,这里我就不过多的讲解了,有不懂的加群 来问
遮罩做好以后 我们就需要来写 信息提示显示的位置了,下面我们在写一个 显示位置的函数。
$.fn.dialog=function(){
this.MaskDiv=function()
{
var wnd = $(window), doc = $(document);
//alert(doc.height());
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);
}
}
我们这里主要是让信息显示在中间
演示地址:http://www.cnjquery.com/demo/dialog.html
很多朋友都在跃跃欲试 打算打造自己的jquery插件,
我是 烦透了了jquery ui的dialog插件,所以突发奇想 自己写一个。先申明 就是随便这么一写,太多的还没有完善,之所以贴出来就是给大家一个参考。
下面大家跟我一起打造一个jquery dialog插件
首先创建一个插件
$.fn.dialog=function(){
}
下面我们首先考虑 当您要现实的信息弹出来的时候,文档上面有一个遮罩层是必需的
那我们来编写一个遮罩层
$.fn.dialog=function(){
this.MaskDiv=function()
{
var wnd = $(window), doc = $(document);
//alert(doc.height());
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"});
}
}
注:这个遮罩函数 也不怎么复杂,这里我就不过多的讲解了,有不懂的加群 来问
遮罩做好以后 我们就需要来写 信息提示显示的位置了,下面我们在写一个 显示位置的函数。
$.fn.dialog=function(){
this.MaskDiv=function()
{
var wnd = $(window), doc = $(document);
//alert(doc.height());
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);
}
}
我们这里主要是让信息显示在中间
完整代码: $.fn.dialog=function(){ this.MaskDiv=function() { var wnd = $(window), doc = $(document); //alert(doc.height()); 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 bj=$("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; } |
相关文章推荐
- (转)jquery傻瓜基础教程之教你如何制作简单的dialog插件
- jquery傻瓜基础教程之教你如何制作简单的dialog插件
- (转)jquery傻瓜基础教程之教你如何制作jquery插架一
- jquery傻瓜基础教程之教你如何制作jquery插架一
- 简单几招学会如何制作jQuery插件
- jQuery高级篇 简单几招学会如何制作jQuery插件
- C#基础视频教程4.2 如何编写简单的计算器
- 推荐40个简单的 jQuery 导航插件和教程【下篇】
- 【教程】新手如何制作简单MAD和AMV,学不会那都是时辰
- jQuery插件简单学习实例教程
- 如何封装一个最简单的jquery插件
- (译)如何使用GameCenter制作一个简单的多人游戏教程:第一部分
- jquery插件制作教程 txtHover
- C#基础视频教程4.3 如何编写简单的计算器
- C#基础视频教程7.5 如何编写简单游戏
- 使用 ADD-ON SDK 开发 基于 Html JQuery 和 CSS 的 firefox 插件入门教程1: 创建一个简单的 Add-on
- jQuery插件如何编写02_ 简单的全选插件
- [置顶] 如何写一个简单的jQuery插件
- 推荐如何手写jQuery插件教程实例
- 如何创建一个基础jQuery插件