-
String.prototype.replaceAll=function(s1,s2){
-
returnthis.replace(newRegExp(s1,"gm"),s2);
- };
-
(function($){
-
-
-
var___id___="";
-
var___settings___={};
-
varisMouseDown=false;
-
varcurrentElement=null;
-
vardropCallbacks={};
-
vardragCallbacks={};
-
varbubblings={};
-
varlastMouseX;
-
varlastMouseY;
-
varlastElemTop;
-
varlastElemLeft;
-
vardragStatus={};
-
varholdingHandler=false;
-
$.getMousePosition=function(e){
-
varposx=0;
-
varposy=0;
-
if(!e)vare=window.event;
-
if(e.pageX||e.pageY){
- posx=e.pageX;
- posy=e.pageY;
- }
-
elseif(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){
-
varpos=$.getMousePosition(e);
-
varspanX=(pos.x-lastMouseX);
-
varspanY=(pos.y-lastMouseY);
-
var_top=(lastElemTop+spanY)>0?(lastElemTop+spanY):0;
-
var_left=(lastElemLeft+spanX)>0?(lastElemLeft+spanX):0;
-
$("#"+___id___).css("top",_top);
-
$("#"+___id___).css("left",_left);
- };
-
$.fn.ondrag=function(callback){
-
returnthis.each(function(){
-
dragCallbacks[this.id]=callback;
- });
- };
-
$.fn.ondrop=function(callback){
-
returnthis.each(function(){
-
dropCallbacks[this.id]=callback;
- });
- };
-
$.fn.dragOff=function(){
-
returnthis.each(function(){
-
dragStatus[this.id]='off';
- });
- };
-
$.fn.dragOn=function(){
-
returnthis.each(function(){
-
dragStatus[this.id]='on';
- });
- };
- $.extend({
- layerSettings:{
-
id:"layerdiv",
- width:220,
- height:220,
-
templete:'<divstyle="height:20px;width:@width@px;background-color:#777777;"><spanid="@moveid@"style="position:relative;left:0px;top:0px;height:20px;width:100px;"><spanid="@titleid@">@title@</span></span><spanclass="layerclose"style="position:relative;top:0px;float:right;right:20px;color:red;">close</span></div><divstyle="border:solid#ff00001px;width:@width@px;height:@height@px;"><divstyle="width:100%;height:100%;background-color:#ffffff;"id="@contentid@"></div></div>',
-
content:'',
-
title:'',
-
isbg:true,
- opacity:0.3
- },
-
layerSetup:function(settings){
- $.extend($.layerSettings,settings);
- ___settings___[settings.id]=settings;
- ___id___=settings.id;
- },
-
layershow:function(){
-
var__bw=$("body").width();
-
var__bh=$("body").height()>$(window).height()?$("body").height():$(window).height();
-
var_width=$.layerSettings.width;
-
var_height=$.layerSettings.height;
-
if(document.getElementById(___id___))return;
-
var_moveid=___id___+"_move";
-
var_titleid=___id___+"_title";
-
var_contentid=___id___+"_content";
-
var_cssurl=$.layerSettings.cssurl;
-
varopacity=$.layerSettings.opacity;
- __index=$.layermaxindex();
-
var__left=(__bw-_width)>0?(__bw-_width)/2:0;
-
var__top=100;
-
var__bgDiv='<divid="'+___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").append(__bgDiv);
- }
-
$("body").append('<divid="'+___id___+'"style="z-index:'+__index+';position:absolute;left:'+__left+'px;top:'+__top+'px;"></div>');
-
var_templete=$.layerSettings.templete;
-
var__templete=_templete.replaceAll("@width@",_width).replaceAll("@height@",_height).replaceAll("@titleid@",_titleid).replaceAll("@contentid@",_contentid).replaceAll("@title@",jQuery.layerSettings.title).replaceAll("@moveid@",_moveid);
-
$("#"+___id___).append(__templete);
-
$("#"+_contentid).append($.layerSettings.content);
-
$("#"+_titleid).append($.layerSettings.title);
-
varidd=___id___;
-
$(".layerclose").bind("click",function()
- {
- $.layerclose(idd);
- });
-
$("#"+___id___).bind("click",function()
- {
-
varid=this.id;
- $.layerSetup(___settings___[id]);
-
$(this).css("z-index",$.layermaxindex());
- });
-
$(document).bind("click",function(e)
- {
-
varpos=$.getMousePosition(e);
- });
-
$(document).mousemove(function(e){
-
if(isMouseDown&&dragStatus[currentElement.id]!='false'){
- $.updatePosition(e);
-
if(dragCallbacks[currentElement.id]!=undefined){
- dragCallbacks[currentElement.id](e,currentElement);
- }
-
returnfalse;
- }
- });
-
$(document).mouseup(function(e){
-
if(isMouseDown&&dragStatus[currentElement.id]!='false'){
-
isMouseDown=false;
-
if(dropCallbacks[currentElement.id]!=undefined){
- dropCallbacks[currentElement.id](e,currentElement);
- }
-
returnfalse;
- }
- });
-
(function(){
-
bubblings[___id___]=true;
-
dragStatus[___id___]="on";
-
-
bubblings[this.id]=true;
-
dragStatus[_moveid]="handler";
-
$("#"+_moveid).css("cursor","move");
-
$("#"+_moveid).mousedown(function(e){
-
varid=this.id.replace("_move","");
- ___id___=id;
-
$("#"+id).css("z-index",$.layermaxindex());
- $.layerSetup(___settings___[id]);
-
if((dragStatus[___id___]=="off")||(dragStatus[___id___]=="handler"&&!holdingHandler))
-
returnbubblings["#"+___id___];
-
isMouseDown=true;
-
currentElement=$("#"+___id___);
-
varpos=$.getMousePosition(e);
- lastMouseX=pos.x;
- lastMouseY=pos.y;
- lastElemTop=document.getElementById(___id___).offsetTop;
- lastElemLeft=document.getElementById(___id___).offsetLeft;
- $.updatePosition(e);
-
holdingHandler=true;
- });
-
$("#"+_moveid).mouseup(function(e){
-
holdingHandler=false;
- });
-
- })();
- },
-
layerclose:function(__id)
- {
-
$("#"+__id+"_background").remove();
-
$("#"+__id).remove();
- },
-
layermaxindex:function()
- {
-
var___index=0;
-
$.each($("*"),function(i,n){
-
var__tem=$(n).css("z-index");
-
if(__tem>0)
- {
-
if(__tem>___index)
- {
- ___index=__tem+1;
- }
- }
- });
-
return___index;
- }
- });
- })(jQuery);
使用方法:
(1)显示层:
-
functionshow()
- {
- $.layerSetup({
-
id:"abc",
-
title:"test",
-
content:'test',
-
isbg:false,
-
opacity:0.3,
-
templete:'<divclass="showwint_mini_title"><spanclass="showwint_mini_close_btn"><ahref="javascript:void(null);"class="layerclose"></a></span><spanclass="showwint_mini_title_content"id="@moveid@"><spanid="@titleid@"></span></span></div><divclass="showwint_mini_content"><divclass="showwint_mini_content_content"id="@contentid@"></div></div>'
- });
- $.layershow();
- }
(2)关闭层:
注意:那个如果你的模板有CSS文件的话,就要直接引入到本页面就行了,这个简化版不能在别的框架弹出层的,所以也就没有了那个cssurl属性了,也没有target 属性了。
分享到:
相关推荐
在前端开发中,jQuery弹出层插件是用于创建弹窗效果的重要工具,它能够帮助开发者轻松实现模态对话框、提示信息、加载提示等交互功能。本篇将详细介绍jQuery弹出层插件,以及如何使用名为"Popup Div"的实例。 首先...
《jQuery弹出层插件:实现简单遮罩弹出框效果》 在Web开发中,弹出层(Modal)是一种常见的交互元素,用于在用户与页面进行交互时提供额外的信息或者功能。jQuery作为一款强大的JavaScript库,提供了丰富的插件来...
《jQuery+CSS3多功能弹出层插件v2.0.1详解》 在Web开发中,弹出层(也称为对话框或模态窗口)是不可或缺的元素,它们用于显示重要的信息、提示用户确认操作或者提供交互式内容。本文将深入探讨一款名为“20种弹出层...
《zeroModal:打造扁平化风格的jQuery弹出层插件》 在现代网页设计中,扁平化风格因其简洁、清晰的特点深受喜爱,而jQuery弹出层插件则是提升用户体验的重要工具。"zeroModal"就是这样一款专为实现扁平化效果而设计...
本文将详细探讨"jquery弹出层特效"这一主题,以及相关文件如何实现这一功能。 首先,标题"jquery弹出层特效"指的是使用jQuery库创建的弹出窗口或模态对话框效果。在网页设计中,弹出层通常用于显示警告信息、用户...
jQuery弹出层插件通常用于创建弹出对话框、模态框或者提示信息,这些功能在网页应用中非常常见,能够提供更好的用户体验。下面将详细解释相关知识点。 1. **jQuery**: jQuery是由John Resig开发的,它的目标是使...
《jQuery弹出层插件简化版代码解析》 在网页开发中,弹出层是一种常见的交互元素,用于显示额外信息或进行用户交互。jQuery作为一款广泛使用的JavaScript库,提供了丰富的功能来实现这样的效果。本文将深入解析一个...
《jQuery弹出层技术详解与应用实践》 在网页开发中,用户交互体验的重要性日益凸显,其中弹出层(Popup Layer)作为一种常见的交互元素,被广泛应用于提示信息、表单填写、图片预览等场景。jQuery,作为JavaScript...
总之,这个jQuery弹出层插件简化版通过扩展jQuery的API,提供了创建和管理弹出层的便利。通过简单的API调用和事件绑定,开发者可以轻松实现弹出层的动态效果,提升用户体验。同时,由于其代码量较小,易于理解和定制...
总结起来,"Jquery弹出层插件"是一个旨在简化和优化网页弹出层实现的jQuery扩展,强调可定制性和持续改进。通过其提供的API,开发者能够快速集成并灵活调整弹出层功能,提升网页的交互体验。随着作者的不断更新,该...
在这个小插件中,jQuery被用来实现弹出层的动态效果,如显示、隐藏、移动和关闭等操作。利用jQuery的高效和跨浏览器特性,开发者可以避免直接处理底层的DOM操作和事件绑定,从而提高代码的可读性和维护性。 "qsBox...
1. **寻找替代品**:有很多现代的jQuery弹出层插件可供选择,如Bootstrap Modal、Magnific Popup、Fancybox等。这些插件提供了更好的性能和更多的自定义选项,且持续维护更新。 2. **自定义实现**:如果你不希望...
对于"jquery弹出层需要的js"这个主题,我们将深入探讨如何利用jQuery来创建弹出层,并结合给定的文件名,了解相关的核心知识点。 首先,`jquery-3.1.1.min.js`是jQuery库的压缩版本,它是整个项目的基础。这个文件...
本插件是关于“Jquery简单的弹出层带遮罩”的实现,它能够为网页提供一种优雅的方式来显示弹出窗口或对话框,并且在弹出窗口周围添加一个半透明的遮罩层,增强用户体验。 1. **jQuery基础** jQuery的核心在于它的...
fancybox作为一款优秀的jQuery弹出层插件,以其简洁的API和丰富的功能,极大地简化了Web开发者的工作。无论是简单的图片预览还是复杂的多媒体内容展示,fancybox都能胜任。通过理解和熟练运用fancybox,你可以为你的...
在实际应用中,"Lightbox图片放大插件"和"jQuery弹出层放大插件"可能是此类插件的实例,它们提供了上述功能,可以帮助开发者轻松实现网页中的图片放大展示。通过学习和理解这些插件的工作原理,开发者可以更好地定制...
总之,jQuery弹出浮动层是网页交互设计中的常见工具,通过jQuery的便利性和强大的功能,我们可以轻松创建出具有拖动和透明效果,并且兼容多种浏览器的弹出层。这样的技术不仅提高了用户体验,也降低了开发和维护的...
弹出层的实现方式有很多种,可以创建一个隐藏的HTML元素,当点击输入框时显示,或者使用插件如jQuery UI的Dialog。在这里,我们假设你已经有了一个CSS类,用于定义弹出层的样式,例如`.popup`,并将其设置为初始时的...