评论回复弹出遮罩效果实现思路兼容ie 8/chrome/firefox_心得技巧教程-查字典教程网
评论回复弹出遮罩效果实现思路兼容ie 8/chrome/firefox
评论回复弹出遮罩效果实现思路兼容ie 8/chrome/firefox
发布时间:2016-12-27 来源:查字典编辑
摘要:平日喜欢关注一些新闻,经常会浏览腾讯网!但是很少看到评论的回复。与是仔细寻找之,发现原来是通过一个页面的弹出遮罩来显示的。与是仔细研究一翻,...

平日喜欢关注一些新闻,经常会浏览腾讯网!

但是很少看到评论的回复。与是仔细寻找之,发现原来是通过一个页面的弹出遮罩来显示的。

与是仔细研究一翻,自己模拟出来一个,感觉还行,兼容ie 8/chrome/firefox.

思路:主页面和遮罩是两个不同的页面,遮罩通过iframe 利用js加载进来。

代码如下:

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>

<title>append-iframe</title>

<style type="text/css">

html,body{height:100%;padding:0px;margin:0px;}

</style>

</head>

<body>

<div><input type="button" value="show" id="show-id"/></div>

<div><input type="button" value="test" id="test-id"/></div>

<script type="text/javascript">

$("#show-id").on("click",function(){

$(top.document.body).append('<iframe src="subiframe.html" id="np-pop-iframe" allowtransparency="true" frameborder="0" scrolling="no" data-nick="" data-pic="" data-id="" parentid=""></iframe>');

});

$("#test-id").on("click",function(){

alert("test");

});

</script>

</body>

</html>

subiframe.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>

<title>Document</title>

<style type="text/css">

html,body{height:100%;padding:0px;margin:0px;}

.np-popframe-bg-opacity{

filter: alpha(opacity=50);

-moz-opacity: 0.5;

opacity: 0.5;

}

.wrapper{

position: absolute;

border:1px solid red;

width:800px;

height: 800px;

background: #fff;

top:1000px;

left:500px;

}

</style>

</head>

<body>

<div></div>

<div id="np-popframe-bg-id"></div>

<div id="wrapper-id"></div>

</body>

<script type="text/javascript">

(function(){

$("#wrapper-id").animate({top:"100px"},"slow");

$("#np-popframe-bg-id").on("click",function(){

//$(window.parent.document.getElementById("np-pop-iframe")).remove();

$("#np-pop-iframe",window.parent.document).remove();

});

})(jQuery);

</script>

</html>

这里需要用一到滤镜。让加载来的遮罩保持透明.

1 np-popframe-bg-id 的作用主要是显示评论框的外部区域。当鼠标点击该区域的时候,移除iframe.

2 div 需要设置100%的高度,需要在前面加上 html,body{height:100%;}的css,否则无效

3 还有一点就是绝对定位的absolute.

偶有所得,以记录之,谨防忘记!

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新心得技巧学习
    热门心得技巧学习
    网页设计子分类