>  기사  >  웹 프론트엔드  >  Mask_jquery를 사용하여 두 개의 jQuery 팝업 상자 공유

Mask_jquery를 사용하여 두 개의 jQuery 팝업 상자 공유

WBOY
WBOY원래의
2016-05-16 15:22:481265검색

첫 번째: 페이지 마스크 팝업 상자는 가장 일반적인 상황입니다. jQuery를 사용하여 페이지 마스크 팝업 상자를 완성합니다. 주로 사용되는 기술은 JQuery, CSS 및 html입니다.

HTML 코드는 다음과 같습니다.

 <div id="main"><a href="javascript:showBg();">点击这里查看效果</a>
 <div id="fullbg"></div>
 <div id="dialog">
 <p class="close"><a href="#" onclick="closeBg();">封闭</a></p>
 <div>正在加载,请稍后....</div>
 </div>
</div>

CSS 코드는 다음과 같습니다.

 body {
 font-family:Arial, Helvetica, sans-serif;
 font-size:12px;
 margin:0;
}
#main {
 height:1800px;
 padding-top:90px;
 text-align:center;
}
#fullbg {
 bac千克round-color:gray;
 left:0;
 opacity:0.5;
 position:absolute;
 top:0;
 z-index:3;
 filter:alpha(opacity=50);
 -moz-opacity:0.5;
 -khtml-opacity:0.5;
}
#dialog {
 bac公斤round-color:#fff;
 border:5px solid rgba(0,0,0, 0.4);
 height:400px;
 left:50%;
 margin:-200px 0 0 -200px;
 padding:1px;
 position:fixed !important; /* 浮动对话框 */
 position:absolute;
 top:50%;
 width:400px;
 z-index:5;
 border-radius:5px;
 display:none;
}
#dialog p {
 margin:0 0 12px;
 height:24px;
 line-height:24px;
 bac公斤round:#CCCCCC;
}
#dialog p.close {
 text-align:right;
 padding-right:10px;
}
#dialog p.close a {
 color:#fff;
 text-decoration:none;
}

jQuery 코드는 다음과 같습니다.

<script type="text/javascript">
 //展示灰色 jQuery 遮罩层
 function showBg() {
 var bh = $("body").height();
 var bw = $("body").width();
 $("#fullbg").css({
  height:bh,
  width:bw,
  display:"block"
 });
 $("#dialog").show();
 }
 //关闭灰色 jQuery 遮罩
 function closeBg() {
 $("#fullbg,#dialog").hide();
 }
 </script>

두 번째: 간단히 jQuery 마스크 레이어를 생성하세요. 물론 나중에 쉽게 사용할 수 있도록 공개 함수로 만들 수도 있습니다.

먼저 html을 입력하세요.

<p class="showbtn"><a href="javascript:void(0);">显示遮罩层</a></p>
<div id="bg"></div>
<div class="box" style="display:none">
 <h2>jQuery 学习交流<a href="#" class="close">关闭</a></h2>
 <div class="list">
 <ul>
  <li>脚本之家</li>
  <li>脚本之家</li>
  <li>脚本之家</li>
 </ul>
 </div>
</div>

마스크 레이어의 스타일은 다음과 같습니다.

/* box */
.box{position:absolute;width:600px;left:50%;height:auto;z-index:100;background-color:#fff;border:1px #ddd solid;padding:1px;}
.box h2{height:25px;font-size:14px;background-color:#aaa;position:relative;padding-left:10px;line-height:25px;color:#fff;}
.box h2 a{position:absolute;right:5px;font-size:12px;color:#fff;}
.box .list{padding:10px;}
.box .list li{height:24px;line-height:24px;}
.box .list li span{margin:0 5px 0 0;font-family:"宋体";font-size:12px;font-weight:400;color:#ddd;}
.showbtn {font:bold 24px '微软雅黑';}
#bg{background-color:#666;position:absolute;z-index:99;left:0;top:0;display:none;width:100%;height:100%;opacity:0.5;filter: alpha(opacity=50);-moz-opacity: 0.5;}

마지막으로 jQuery를 사용하여 팝업 레이어를 표시하고 숨깁니다.

$(function () {
 $(".showbtn").click(function () {
 $("#bg").css({
  display: "block", height: $(document).height()
 });
 var $box = $('.box');
 $box.css({
  //设置弹出层距离左边的位置
  left: ($("body").width() - $box.width()) / 2 - 20 + "px",
  //设置弹出层距离上面的位置
  top: ($(window).height() - $box.height()) / 2 + $(window).scrollTop() + "px",
  display: "block"
 });
 });
 //点击关闭按钮的时候,遮罩层关闭
 $(".close").click(function () {
 $("#bg,.box").css("display", "none");
 });
});

요약: jQuery를 사용하여 마스킹을 구현하는 아이디어는 버튼을 클릭할 때 마스킹 레이어를 트리거하고 팝업 레이어의 CSS 레벨 Z-인덱스를 통해 마스킹 레이어가 전체 페이지를 덮도록 하는 것입니다. 동시에 팝업 레이어의 CSS 레벨 z-index를 통해 마스크 레이어 위에 팝업 레이어가 강조 표시되도록 합니다. 그런 다음 팝업 레이어 닫기 버튼을 클릭하면 팝업 레이어가 숨겨지고 마스크 레이어도 숨겨집니다. 이 작성 방법은 비교적 빠릅니다. 나중에 시간이 나면 이 코드를 공개 함수에 작성하여 여러 번 호출할 수 있도록 하겠습니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.