원본 jQuery 팝업 레이어 플러그인 Sharing_jquery
jquery에 따라 다르며 IE678 Firefox chrom 및 기타 주류 브라우저(완전히 원본)와 호환되지만 효율성을 향상시킬 수 있도록 도와주세요.
/** * jQuery弹出层插件 * * @author lanhaoooo@163.com * @since 2014-08-23 */ (function($) { var methods = { o : { isIe : !-[ 1, ] || document.documentMode >= 9,//后面的是判断IE9、IE10的 ie6 : !-[ 1, ] && !window.XMLHttpRequest, ie9_10 : document.documentMode >= 9, bgLayer : "layerModel_mask", dataId : "layerModel_main", wrapper : "layerModel_wrapper", warpperContent : "layerModel_content", warpperTitle : "layerModel_title", warpperCloseBtn : "layerModel_closeBtn", warpperOwnContent : "layerModel_ownContent", replaceClose : "replaceClose", dragableClass : "dragable", defaultWidth : 300 }, generateId : function(){ return "_" + new Date().getTime(); }, init : function(data, options) { //left和top想要使用的时候请设置center为false,这样的情况下才会生效,如果center = true则该设置不生效 #666,#999,#e5dfda ,#e5e5e5,#ff8800 var defaults = {center:true,locked:true,fixed:true,drag:true,zIndex:9999,opacity:"0.5",title:"系统提示",staySame:false,width:0,height:0,timer:0,bgColor:"#fffaf6",left:350,top:100,head:true,isClose:true,shake:false, close : function(){ return true; } }; options = $.extend(defaults, options); var s = this; var generateId = s.generateId(); if (typeof data === 'object') { data = data instanceof $ ? data : $(data); if(options.staySame) { data = s.createRender(data, options, generateId).hide(); } else { data = s.createContainer(data, options, generateId).hide(); } } else if (typeof data === 'string' || typeof data === 'number') { data = $("<div id='"+s.o.dataId + generateId +"'></div>").html(data).appendTo(document.body).hide(); } else { alert("Layer Error : Unsupporte data type :" + typeof data); return; } if (options.locked && !s.hasBgLayer()) { $("<div class='"+s.o.bgLayer+"' id='" + s.o.bgLayer + "'></div>").appendTo(document.body).css({"background" : options.bgColor,"opacity" : options.opacity}); } data.css({"position" : options.fixed ? s.o.ie6 ? "absolute" : "fixed" : "absolute","z-index" : options.zIndex,"left" : options.left,"top" : options.top}).show(); if (options.center) { s.fixLayer(data); $(window).bind("resize scroll", function() { s.fixLayer(data); }); } if (options.drag) { s.dragLayer(data, options); } if(options.shake) { s.shakeLayer(data); } var timeOut; clearTimeout(timeOut); if(options.timer > 0){ timeOut = window.setTimeout(function(){ $("#"+s.o.replaceClose + generateId).trigger("click"); }, options.timer); } return data; }, createContainer : function(data, options,generateId) { var s = this; //如果context未定义,则是通过html拼接的方式追加的否则就是原本就存在的,关闭后需要返回原地方 var isHtmlSlice = data.context == undefined ? true : false; var wrapperHtml = "<div class='"+s.o.wrapper+"' id='"+s.o.wrapper + generateId+"'>" + "<div class='"+s.o.warpperContent+"' id='"+s.o.warpperContent + generateId+"'>" + "<a class='"+s.o.replaceClose+"' id='"+s.o.replaceClose + generateId+"'></a>"; if(options.head){ wrapperHtml+= "<h4 class='"+s.o.warpperTitle+" "+s.o.dragableClass+"' id='"+s.o.warpperTitle + generateId+"'>"; if(options.isClose){ wrapperHtml+= "<a href='javascript:void(0);' title='关闭' class='"+s.o.warpperCloseBtn+"' id='"+s.o.warpperCloseBtn + generateId+"'>×</a>"; } wrapperHtml+= options.title + "</h4>"; } wrapperHtml+= "<div id='"+s.o.warpperOwnContent + generateId+"' class='"+s.o.warpperOwnContent+"'></div>" + "</div>" + "</div>"; s.container = $(wrapperHtml); s.container.appendTo(document.body); data.clone(true).appendTo("#"+s.o.warpperOwnContent + generateId).show().attr('id',data.attr('id') || s.o.dataId + generateId); //div默认宽度为100%,所以建议将所有弹出的元素设置宽度,否则弹出层宽度为100% var w = $("#"+data.attr('id')).width() || $("#"+s.o.dataId + generateId).width() || s.o.defaultWidth; //指定了高度 var tempWidth = w; if(options.height > 0 ) { if(options.width > 0){ tempWidth = options.width; if(options.width <= w){ $("#"+s.o.warpperOwnContent + generateId).css({"width":options.width,"overflow-x":"auto"}); } else { //如果指定的宽度大于元素本身的宽度,那么需要将元素居中 //让元素始终居中显示 var xPadding = (options.width - w) / 2 + 8; $("#"+s.o.warpperOwnContent + generateId).css({"padding" : "4px " + xPadding + "px"}); } } s.container.width(tempWidth + 32); $("#"+s.o.warpperContent + generateId).width(tempWidth + 30); $("#"+s.o.warpperOwnContent + generateId).css({"height":options.height,"overflow-y":"auto"}); } else { if(options.width > 0) { tempWidth = options.width; if(options.width <= w) { $("#"+s.o.warpperOwnContent + generateId).css({"width":options.width,"overflow-x":"auto"}); } } s.container.width(tempWidth + 22); $("#"+s.o.warpperContent + generateId).width(tempWidth + 20); } $("#"+s.o.warpperCloseBtn + generateId).click(function(e) { $("#"+s.o.replaceClose + generateId).trigger("click"); }); $("#"+s.o.replaceClose + generateId).click(function(e) { s.close($("#"+s.o.wrapper + generateId), options, generateId); e.stopPropagation(); }); if(!isHtmlSlice){ // 让传入的元素在对话框关闭后可以返回到原来的地方 var display = data.css("display"); var obj = data[0]; var prev = obj.previousSibling; var next = obj.nextSibling; var parent = obj.parentNode; this["elemBack_" + generateId] = function(){ if (prev && prev.parentNode) { prev.parentNode.insertBefore(obj, prev.nextSibling); } else if (next && next.parentNode) { next.parentNode.insertBefore(obj, next); } else if (parent) { parent.appendChild(obj); }; data.css({"display" : display}); }; } data.detach(); return s.container; }, createRender : function(data, options,generateId){ var s = this; //如果context未定义,则是通过html拼接的方式追加的否则就是原本就存在的,关闭后需要返回原地方 var isHtmlSlice = data.context == undefined ? true : false; s.container = $("<div class='"+s.o.wrapper+"' style='border:none;' id='"+s.o.wrapper + generateId+"'><a class='"+s.o.replaceClose+"' id='"+s.o.replaceClose + generateId+"'></a></div>"); s.container.appendTo(document.body); data.clone(true).appendTo(s.container).show().attr('id',data.attr('id') || s.o.dataId + generateId); $("#"+s.o.replaceClose + generateId).click(function(e) { s.close($("#"+s.o.wrapper + generateId), options, generateId); e.stopPropagation(); }); if(!isHtmlSlice){ // 让传入的元素在对话框关闭后可以返回到原来的地方 var display = data.css("display"); var obj = data[0]; var prev = obj.previousSibling; var next = obj.nextSibling; var parent = obj.parentNode; s["elemBack_" + generateId] = function(){ if (prev && prev.parentNode) { prev.parentNode.insertBefore(obj, prev.nextSibling); } else if (next && next.parentNode) { next.parentNode.insertBefore(obj, next); } else if (parent) { parent.appendChild(obj); }; data.css({"display" : display}); }; } data.detach(); return s.container; }, isLastLayer : function(){ var s = this; return $("." + s.o.wrapper).length <= 0; }, hasBgLayer : function(){ var s = this; return $("." + s.o.bgLayer).length > 0; }, close : function(data, options ,generateId) { var s = this; //调用回调函数 var result = options.close(); if(result == undefined || result){ data.remove(); if(s.isLastLayer()) { $("#" + s.o.bgLayer).remove(); } } if (s["elemBack_" + generateId]) { s["elemBack_" + generateId](); }; }, closeLayer : function(obj){ var s = this; var $wapper = $(obj).parents("div."+s.o.wrapper); $("."+s.o.replaceClose,$wapper).trigger("click"); }, fixLayer : function(data) { var s = this; var T = ($(window).height() - data.innerHeight()) / 2 + (s.o.ie6 ? $(document).scrollTop() : data.scrollTop()); var L = ($(window).width() - data.width()) / 2 + (s.o.ie6 ? $(document).scrollLeft() : data.scrollLeft()); data.css({"left" : L,"top" : T}); }, dragLayer : function(data, options) { var s = this; var move = false;// 移动标记 var x = 0, y = 0;// 鼠标离控件左上角的相对位置 var o = data.find("." + s.o.dragableClass).css({"cursor" : "move"}); var a = o[0]; o.mousedown(function(e) { //IE9 IE10居然把e.button改成0了,艹 var isLeftClick = (s.o.isIe && e.button == 1) || (!s.o.isIe && e.button == 0) || (s.o.ie9_10 && e.button == 0); if (isLeftClick) { data.fadeTo(20, 0.25);// 点击后开始拖动并透明显示 s.o.isIe ? a.setCapture() : window.captureEvents(Event.MOUSEMOVE); move = true; x = e.pageX - parseInt(data.css("left")); y = e.pageY - parseInt(data.css("top")); $(document).mousemove(function(e) { if (move) { var sx = e.pageX - x;// 移动时根据鼠标位置计算控件左上角的绝对位置 var sy = e.pageY - y; data.css({"top" : sy,"left" : sx}); } }).mouseup(function() { data.fadeTo("fast", 1);// 松开鼠标后停止移动并恢复成不透明 move = false; x = 0; y = 0; s.o.isIe ? a.releaseCapture() : window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP); }); } else { return false; } }); }, shakeLayer : function(data){ var ll = ($(window).width() - data.width()) / 2; var loop = 4; for(var i=1; i<=loop; i++){ data.animate({left:ll - (loop * 10 - 10 * i)},50); data.animate({left:ll + 2*(loop * 10 - 10 * i)},50); } } }; $.fn.layerModel = function(options) { methods.init(this, options); }; $.fn.close = function() { methods.closeLayer(this); }; $.fn.fix = function() { var mn = $(this).parents("." + methods.o.wrapper); methods.fixLayer($(mn[0])); }; })(jQuery);
위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











jQuery 참조 방법에 대한 자세한 설명: 빠른 시작 가이드 jQuery는 웹 사이트 개발에 널리 사용되는 JavaScript 라이브러리로, JavaScript 프로그래밍을 단순화하고 개발자에게 풍부한 기능을 제공합니다. 이 기사에서는 jQuery의 참조 방법을 자세히 소개하고 독자가 빠르게 시작할 수 있도록 구체적인 코드 예제를 제공합니다. jQuery 소개 먼저 HTML 파일에 jQuery 라이브러리를 도입해야 합니다. CDN 링크를 통해 소개하거나 다운로드할 수 있습니다.

jQuery를 사용하여 요소의 높이 속성을 제거하는 방법은 무엇입니까? 프런트엔드 개발에서는 요소의 높이 속성을 조작해야 하는 경우가 종종 있습니다. 때로는 요소의 높이를 동적으로 변경해야 할 수도 있고 요소의 높이 속성을 제거해야 하는 경우도 있습니다. 이 기사에서는 jQuery를 사용하여 요소의 높이 속성을 제거하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. jQuery를 사용하여 높이 속성을 연산하기 전에 먼저 CSS의 높이 속성을 이해해야 합니다. height 속성은 요소의 높이를 설정하는 데 사용됩니다.

jQuery에서 PUT 요청 방법을 사용하는 방법은 무엇입니까? jQuery에서 PUT 요청을 보내는 방법은 다른 유형의 요청을 보내는 것과 유사하지만 몇 가지 세부 사항과 매개 변수 설정에 주의해야 합니다. PUT 요청은 일반적으로 데이터베이스의 데이터 업데이트 또는 서버의 파일 업데이트와 같은 리소스를 업데이트하는 데 사용됩니다. 다음은 jQuery에서 PUT 요청 메소드를 사용하는 구체적인 코드 예제입니다. 먼저 jQuery 라이브러리 파일을 포함했는지 확인한 다음 $.ajax({u를 통해 PUT 요청을 보낼 수 있습니다.

제목: jQuery 팁: 페이지에 있는 모든 태그의 텍스트를 빠르게 수정하세요. 웹 개발에서는 페이지의 요소를 수정하고 조작해야 하는 경우가 많습니다. jQuery를 사용할 때 페이지에 있는 모든 태그의 텍스트 내용을 한 번에 수정해야 하는 경우가 있는데, 이는 시간과 에너지를 절약할 수 있습니다. 다음은 jQuery를 사용하여 페이지의 모든 태그 텍스트를 빠르게 수정하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 먼저 jQuery 라이브러리 파일을 도입하고 다음 코드가 페이지에 도입되었는지 확인해야 합니다. <

jQuery는 프런트엔드 개발에 널리 사용되는 빠르고, 작고, 기능이 풍부한 JavaScript 라이브러리입니다. 2006년 출시 이후 jQuery는 많은 개발자가 선택하는 도구 중 하나가 되었지만 실제 애플리케이션에서는 몇 가지 장점과 단점도 있습니다. 이 기사에서는 jQuery의 장점과 단점을 심층적으로 분석하고 구체적인 코드 예제를 통해 설명합니다. 장점: 1. 간결한 구문 jQuery의 구문 디자인은 간결하고 명확하여 코드의 가독성과 쓰기 효율성을 크게 향상시킬 수 있습니다. 예를 들어,

제목: jQuery를 사용하여 모든 태그의 텍스트 내용을 수정합니다. jQuery는 DOM 작업을 처리하는 데 널리 사용되는 인기 있는 JavaScript 라이브러리입니다. 웹 개발을 하다 보면 페이지에 있는 링크 태그(태그)의 텍스트 내용을 수정해야 하는 경우가 종종 있습니다. 이 기사에서는 jQuery를 사용하여 이 목표를 달성하는 방법을 설명하고 구체적인 코드 예제를 제공합니다. 먼저 페이지에 jQuery 라이브러리를 도입해야 합니다. HTML 파일에 다음 코드를 추가합니다.

jQuery 요소에 특정 속성이 있는지 어떻게 알 수 있나요? jQuery를 사용하여 DOM 요소를 조작할 때 요소에 특정 속성이 있는지 확인해야 하는 상황이 자주 발생합니다. 이 경우 jQuery에서 제공하는 메소드를 사용하여 이 기능을 쉽게 구현할 수 있습니다. 다음은 jQuery 요소에 특정 속성이 있는지 확인하기 위해 일반적으로 사용되는 두 가지 방법을 특정 코드 예제와 함께 소개합니다. 방법 1: attr() 메서드와 typeof 연산자를 // 사용하여 요소에 특정 속성이 있는지 확인

jQuery는 웹 페이지에서 DOM 조작 및 이벤트 처리를 처리하는 데 널리 사용되는 인기 있는 JavaScript 라이브러리입니다. jQuery에서 eq() 메서드는 지정된 인덱스 위치에서 요소를 선택하는 데 사용됩니다. 구체적인 사용 및 적용 시나리오는 다음과 같습니다. jQuery에서 eq() 메서드는 지정된 인덱스 위치에 있는 요소를 선택합니다. 인덱스 위치는 0부터 계산되기 시작합니다. 즉, 첫 번째 요소의 인덱스는 0이고 두 번째 요소의 인덱스는 1입니다. eq() 메소드의 구문은 다음과 같습니다: $("s
