300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 点击div外区域隐藏div操作(嵌套iframe页面)

点击div外区域隐藏div操作(嵌套iframe页面)

时间:2023-07-24 21:13:12

相关推荐

点击div外区域隐藏div操作(嵌套iframe页面)

一、正常页面

$(document).click(function(){$(dom).hide();//要隐藏的div});

这个是最基础的原型,如果是有弹窗和遮罩层的,点击遮罩层的部分关闭弹窗和遮罩层:

// 点击弹窗内容以外的地方关闭弹窗.user-list-classify-mask:遮罩层.user-list-classify:实际的小弹窗区域$(".user-list-classify-mask").on('click', function (e) {if ($(e.target).closest('.user-list-classify').length == 0) {$(".user-list-classify-mask").hide();} });因为遮罩层是覆盖了整个屏幕的,所以一般就遮罩住了触发的那个元素,所以这个就不用除去触发的元素了

还有一种是没有遮罩层,但是会同步出现很多弹窗的list:

.pops:触发弹窗的元素.ellipsis-pop:一开始隐藏的定位弹窗有很多tdcss:.report-operation-pop{position:relative;}.report-operation-pop img{width:20px;cursor:pointer;}.ellipsis-pop{position:absolute;right:0;top:49px;width:120px;background:#fff;-webkit-box-shadow: 0 0 6px rgba(0,0,0,.15);box-shadow: 0 0 6px rgba(0,0,0,.15);-o-box-shadow: 0 0 6px rgba(0,0,0,.15);-ms-box-shadow: 0 0 6px rgba(0,0,0,.15);-moz-box-shadow: 0 0 6px rgba(0,0,0,.15);border-radius:3px;padding:10px;box-sizing:border-box;z-index:999;display:none;}html:<td class="t-a-l report-operation-pop"><img src="../../../include/images/dian.png" class="pops"><div class="ellipsis-pop"><a class="operation-btn">删除</a><a class="operation-btn">详情</a>……很多按钮</div></td>js://操作栏的点击事件$("#report_table").on("click",".pops",function(){$(this).next().toggle();//显示隐藏toggle$(this).parents('tr').siblings().find('.ellipsis-pop').hide();//只能一个pop显示,其他的pop隐藏var topH = $(this).parents('td').outerHeight();$(this).next().css('top',topH/2+8)//pop的top值为td的高度的一半+一个适当的错开值})$(document).on('click', function (e) {//点击除pop之外的区域隐藏pop弹窗 但是要把触发的···去掉,不然点击···pop就不会show了if ($(e.target).closest('.ellipsis-pop').length == 0 && $(e.target).closest('.pops').length == 0) {$(".ellipsis-pop").hide();} });

二、嵌套iframe页面(我实现的是点击子页面隐藏父页面的元素)

除了写正常页面的操作之外,也需要在子页面里面写第二个操作

$(document).click(function(){//父页面$(dom).hide();//要隐藏的div});$(document).click(function(){//子页面$(dom,window.parent.document).hide();});

因为子页面里不能直接获取到父页面的元素,所以需要在子页面里面另外写:

$(dom,window.parent.document).hide();

补充:jquery中父子页面之间获取元素

父页面获取子页面元素:

$("#iframe的ID").contents().find("#iframe子页面的ID").click();

父页面调用子页面方法:

$("#iframe的ID")[0].contentWindow.子页面 js 方法();

子页面获取父页面元素:

$("#父页面元素ID" , parent.document);

子页面操作父页面方法:

window.parent.父页面 js 方法();

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。