I like to pay attention to some news on weekdays and often browse Tencent! But I rarely see replies to comments. So I looked for it carefully and found that it was displayed through a pop-up mask on a page. So I studied it carefully and simulated it myself. It feels good and is compatible with IE 8/Chrome/Firefox. Idea: The main page and the mask are two different pages, and the mask is loaded in through iframe using js. The code is as follows: index.html Copy code The code is as follows:<!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" style="width: 100%; z-index: 9999; position: fixed; top: 0px; left: 0px; border: none; overflow: hidden; height: 100%;" data-nick="" data-pic="" data-id="" parentid=""></iframe>'); }); $("#test-id").on("click",function(){ alert("test"); }); </script> </body> </html> subiframe.html: Copy code The code is as follows:<!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 class="iframe-body" style="background-image: none; width: 100%; height: 100%; background-position: initial initial; background-repeat: initial initial;"> <div class="np-popframe-bg-opacity" style="height: 100%; width:100%; background-color:#000;"></div> <div class="np-popframe-bg" id="np-popframe-bg-id" style="height: 100%; width:100%; position:absolute; top:0px; left:0px;"></div> <div class="wrapper" 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> A filter is needed here. Make the loaded mask transparent. 1 The main function of np-popframe-bg-id is to display the outer area of the comment box. When the mouse clicks on this area, remove the iframe. 2. The div needs to be set to 100% height. You need to add html, body{height:100%;} css in front of it, otherwise it will be invalid. 3 Another point is absolute positioning. If you gain something, record it to avoid forgetting it! |
<<: Detailed explanation of the Sidecar mode in Docker Compose
>>: Implementation of css transform page turning animation record
As Web developers, although we are not profession...
Preface The role of process management: Determine...
[LeetCode] 184. Department Highest Salary The Emp...
According to null-values, the value of null in My...
If you want to change your host name, you can fol...
Table of contents The principle of Vue asynchrono...
When you feel that there is a problem with MySQL ...
1. Install mysql Run the following command to upd...
Note 1: The entire background in the above pictur...
Table of contents Join syntax: 1. InnerJOIN: (Inn...
Use of built-in functions in the database This ar...
The default scroll bar style in Windows is ugly, ...
1. Download MySQL Community Server 5.6.35 Downloa...
1. Dynamically create objects There are two ways ...
I don't know if you have noticed when making a...