一个jquery的弹出层的插件查看

国安犇犇

国安犇犇

2016-02-19 16:06

图老师小编精心整理的一个jquery的弹出层的插件查看希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~
代码如下:
String.prototype.replaceAll = function(s1,s2){
return this.replace(new RegExp(s1,"gm"),s2);
};
(function($){
/*
* $-layer 0.1 - jquery pulg-in
*
* Copyright (c) 2008 King Wong

* $Date: 2008-09-28 $
*/
var ___win___ = window.self;
var ___self___ = window.self;
var ___id___ = "";
var ___settings___ = {};
var isMouseDown = false;

var currentElement = null;

var dropCallbacks = {};
var dragCallbacks = {};

var bubblings = {};

var lastMouseX;
var lastMouseY;
var lastElemTop;
var lastElemLeft;

var dragStatus = {};

var holdingHandler = false;

$.getMousePosition = function(e){
var posx = 0;
var posy = 0;

if (!e) var e = window.event;

if (e.pageX || e.pageY) {
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY) {
posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
}
return { 'x': posx, 'y': posy };
};
$.updatePosition = function(e) {
var pos = $.getMousePosition(e);

var spanX = (pos.x - lastMouseX);
var spanY = (pos.y - lastMouseY);
var _top = (lastElemTop + spanY) 0 ? (lastElemTop + spanY) : 0;
var _left = (lastElemLeft + spanX) 0 ? (lastElemLeft + spanX) : 0;
$("#"+___id___,___win___.document).css("top", _top);
$("#"+___id___,___win___.document).css("left", _left);
};

$.fn.ondrag = function(callback){
return this.each(function(){
dragCallbacks[this.id] = callback;
});
};
$.fn.ondrop = function(callback){
return this.each(function(){
dropCallbacks[this.id] = callback;
});
};

$.fn.dragOff = function(){
return this.each(function(){
dragStatus[this.id] = 'off';
});
};

$.fn.dragOn = function(){
return this.each(function(){
dragStatus[this.id] = 'on';
});
};
$.extend({
layerSettings:{
id:"layerdiv",
target:window.self,
width:220,
height:220,
templete:'div style="height:20px; width:px; background-color:#777777;"span id="" style="position:relative; left:0px; top:0px; height:20px; width:100px;"span id=""/span/spanspan class="layerclose" style="position:relative; top:0px; float:right; right:20px; color:red;"close/span/divdiv style="border:solid #ff0000 1px; width:px; height:px;"div style="width:100%; height:100%; background-color:#ffffff;" id=""/div/div',
cssurl:'',
content:'',
title:'',
isbg:true,
opacity:0.3
},
layerSetup: function( settings ) {
$.extend( $.layerSettings, settings );
___settings___[settings.id] = settings;
___id___ = settings.id;
},
layershow:function(){
___win___ = $.layerSettings.target == undefined || $.layerSettings.target == null ? window.self : $.layerSettings.target;

var win = $.layerSettings.target == undefined || $.layerSettings.target == null ? window.self : $.layerSettings.target;
var __bw = $("body",win.document).width();
var __bh = $("body",win.document).height() $(window).height() ? $("body",win.document).height() : $(window).height();
var _width = $.layerSettings.width;
var _height = $.layerSettings.height;

if(___win___.document.getElementById(___id___)) return;
var _moveid = ___id___ + "_move";
var _titleid = ___id___ + "_title";
var _contentid = ___id___ + "_content";
var _cssurl = $.layerSettings.cssurl;
var opacity = $.layerSettings.opacity;
(function(){
$("head",win.document).append('link type="text/css" href="'+_cssurl+'" rel="stylesheet" /');
})();
__index = $.layermaxindex();
var __left = (__bw - _width) 0 ? (__bw - _width)/2 : 0;
var __top = 100;
var __bgDiv = 'div id="'+___id___+'_background" style="background:#000000; filter:alpha(opacity='+(opacity*100)+'); opacity: '+opacity+'; width:'+__bw+'px; height:'+__bh+'px; z-index:'+(__index++)+'; position:absolute; left:0px; top:0px;"/div';
if($.layerSettings.isbg)
{
$("body",win.document).append(__bgDiv);
}
$("body",win.document).append('div id="'+___id___+'" style="z-index:'+__index+';position:absolute; left:'+__left+'px; top:'+__top+'px;"/div');
var _templete = $.layerSettings.templete;
var __templete = _templete.replaceAll("",_width).replaceAll("",_height).replaceAll("",_titleid).replaceAll("",_contentid).replaceAll("",jQuery.layerSettings.title).replaceAll("",_moveid);
$("#"+___id___,win.document).append(__templete);
$("#"+_contentid,win.document).append($.layerSettings.content);
var self = window.self;
var ___win = $.layerSettings.target.document;
var idd = ___id___;
$(".layerclose",win.document).bind("click",function()
{
self.$.layerclose(idd,___win);
});
$("#"+___id___,win.document).bind("click",function()
{
var id = this.id;
self.$.layerSetup(___settings___[id]);
self.$(this).css("z-index",$.layermaxindex());
});
$(win.document,win).bind("click",function(e)
{
var pos = self.$.getMousePosition(e);

});
$(win.document,win).mousemove(function(e){
if(isMouseDown && dragStatus[currentElement.id] != 'false'){
self.$.updatePosition(e);
if(dragCallbacks[currentElement.id] != undefined){
dragCallbacks[currentElement.id](e, currentElement);
}
return false;
}
});
$(win.document,win).mouseup(function(e){
if(isMouseDown && dragStatus[currentElement.id] != 'false'){
isMouseDown = false;
if(dropCallbacks[currentElement.id] != undefined){
dropCallbacks[currentElement.id](e, currentElement);
}
return false;
}
});
(function(){
bubblings[___id___] = true;

dragStatus[___id___] = "on";

//setHandler
bubblings[this.id] = true;

dragStatus[_moveid] = "handler";

$("#"+_moveid,win.document).css("cursor", "move");

$("#"+_moveid,win.document).mousedown(function(e){
var id = this.id.replace("_move","");
___id___ = id;
self.$("#"+id,win.document).css("z-index",$.layermaxindex());
self.$.layerSetup(___settings___[id]);
if((dragStatus[___id___] == "off") || (dragStatus[___id___] == "handler" && !holdingHandler))
return bubblings["#"+___id___];

isMouseDown = true;
currentElement = self.$("#"+___id___);

var pos = self.$.getMousePosition(e);
lastMouseX = pos.x;
lastMouseY = pos.y;

lastElemTop = win.document.getElementById(___id___).offsetTop;
lastElemLeft = win.document.getElementById(___id___).offsetLeft;

self.$.updatePosition(e);
holdingHandler = true;
});

$("#"+_moveid,win.document).mouseup(function(e){
holdingHandler = false;
});
//end setHandler
})();
},
layerclose:function(__id,__win)
{
$("#"+__id+"_background",__win).remove();
$("#"+__id,__win).remove();
},
layermaxindex:function()
{
var ___index = 0;
$.each($("*",___win___.document),function(i,n){
var __tem = $(n).css("z-index");
if(__tem0)
{
if(__tem ___index)
{
___index = __tem + 1;
}
}
});
return ___index;
}
});
})(jQuery);

使用方法:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)
代码如下:
$.layerSetup({
id:"弹出层的ID",
title:'弹出层的标题文字',
target:在哪个目标柜架弹出层如window.parent,默认为window.self,
cssurl:'弹出层的CSS样式文件的地址',
content:'弹出的内容',
isbg:是否显示一个遮照层,
templete:'为层设置布局模板如:div class="showwint_mini_title"span class="showwint_mini_close_btn"a href="javascript:void(null);" class="layerclose"/a/spanspan class="showwint_mini_title_content" id=""span id=""/span/span/divdiv class="showwint_mini_content"div class="showwint_mini_content_content" id=""/div/div',
opacity:设置遮照层的透明度,
width:宽,
height:高
});
$.layershow();

其中布局模板中的""、""、""、""、""为模板中放置标题ID、拖动ID、内容ID、宽、高等,可以根据你自己设计的模板不同放在不同的位置.
展开更多 50%)
分享

猜你喜欢

一个jquery的弹出层的插件查看

Web开发
一个jquery的弹出层的插件查看

JQUERY THICKBOX弹出层插件

Web开发
JQUERY THICKBOX弹出层插件

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Jquery 弹出层插件实现代码

Web开发
Jquery 弹出层插件实现代码

jQuery Dialog弹出层对话框插件

Web开发
jQuery Dialog弹出层对话框插件

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

基于jquery的一个图片hover的插件

Web开发
基于jquery的一个图片hover的插件

基于jQuery的弹出消息插件 DivAlert之旅(一)

Web开发
基于jQuery的弹出消息插件 DivAlert之旅(一)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

jQuery对象和DOM对象相互转化

jQuery对象和DOM对象相互转化

深入浅出MySQL双向复制技术

深入浅出MySQL双向复制技术
下拉加载更多内容 ↓