최근 직장에서 웹사이트의 모든 코드를 다시 작성해야 했는데... 담당자가 온라인 플러그인을 사용하지 말라고 하는 일이 발생했습니다. 아~~맙소사!! 수백만 명 초원의 질주하는 말의 요구사항~~~
먼저 비교적 간단한 기능 구현:
요구사항: 웹페이지 마스크 레이어/팝업 레이어, IE6 호환
다행히 이전에 js 버전을 교묘하게 모아서 나중에 사용할 수 있도록 jQuery 플러그인에 다시 작성했습니다.
더 이상 헛소리도, 검열도, 진실도 없습니다!
/*********************************
* @name 레이어 브라우저 간 호환 플러그인 v1.0
***** ****************************/
; (function($){
$.fn.layer = function(){
var isIE = (document.all) ? true : false;
var isIE6 = isIE && !window.XMLHttpRequest ;
var position = !isIE6 ? "고정": "절대";
var ContainerBox = jQuery(this)
containerBox.css({"z-index":"9999","display" :"차단","position":position ,"top":"50%","left":"50%","margin-top": -(containerBox.height()/2) "px"," margin-left ": -(containerBox.width()/2) "px"});
var layer=jQuery("
");
layer.css({ "너비":"100%","높이":"100%","위치":위치,"상단":"0px","왼쪽":"0px","배경색":"#000" ,"z -index":"9998","opacity":"0.6"});
jQuery("body").append(layer)
function layer_iestyle(){
var maxWidth = Math.max(document.documentElement.scrollWidth, document.documentElement.clientWidth) "px";
var maxHeight = Math.max(document.documentElement.scrollHeight, document.documentElement.clientHeight)
layer .css( {"width" : maxWidth , "height" : maxHeight });
}
function ContainerBox_iestyle(){
var marginTop = jQuery(document).scrollTop - ContainerBox.height()/ 2 "px" ;
var marginLeft = jQuery(document).scrollLeft - ContainerBox.width()/ 2 "px"
containerBox.css({"margin-top" : marginTop , "margin-left" : marginLeft })
}
if(isIE){
layer.css("filter","alpha(opacity=60)")
}
if(isIE6){
layer_iestyle();
containerBox_iestyle();
}
jQuery("window").resize(function(){
layer_iestyle();
}); .click( function(){
containerBox.hide();
jQuery(this).remove();
})
})(jQuery); >
ㅋㅋㅋ 아주 간단하지 않나요? 그런데 여기에는 큰 버그가 있습니다. IE6에서는 배경색 투명을 지원하지 못해서 IE6 디스플레이 아래에 커다란 검은 똥이 나옵니다~~ ~
사용법에 대해 이야기하겠습니다.
2단계: 내 플러그인을 참조하세요. 이에 대해서는 자세히 설명하지 않겠습니다.