Home  >  Article  >  Web Front-end  >  Code example analysis of js click button to implement pop-up video effect with mask layer

Code example analysis of js click button to implement pop-up video effect with mask layer

PHP中文网
PHP中文网Original
2017-03-28 09:38:473014browse

This article mainly introduces the jsclicking the button to achieve the pop-up video effect with a mask layer. Friends who need it can refer to the

example of this article. js click the button to achieve the pop-up video effect with a mask layer, which involves css and JavaScript. I share it with you for your reference. The specific content is as follows

The final display effect: click the red button, and it will A video screen pops up with a mask layer

Click the yellow area to close the video and return to the original state.

Main code of the page: main mainly contains an a, which controls the displayed button. Set with id value.

<p class="main">
  <a href="javascript:;" class="video" id="video"></a>
</p>

The following code is used to control the display effect of the video. .video-btn includes the video display area and the yellow close button on the right (although the yellow close button is a bit ugly).

id="shadow" is used to control the mask layer. The main thing is to set the id value of each element, and then js can easily call each element.

 <p class="video-btn" id="video-btn">
   <p class="video-area" id="video-area"></p>
   <a class="video-shut" id="video-shut">x</a>
 </p>
 <p id="shadow"></p>

Let’s take a look at the css

First set the video-btn area.

.video-btn{
      position: absolute;
      width:600px;
      height: 300px;
      background:black;
      top:50%;
      left: 50%;
      margin-top: -150px;
      margin-left:-300px;
      display: none;
      z-index: 101;
    }
 .video-area{
      float:left;
      width:500px;
      height: 300px;
      background:red;
    }
.video-shut{
      height:100px;
      width:100px;
      font-size:40px;
      color:pink;
      float:left;
      text-align: center;
      /*line-height: 50px;*/
      background: yellow;
      display: block;
      padding-top:30px;
    }

Then set the css of the mask layer

 #shadow{
      position: absolute;
      opacity: 0.5;
      filter:alpha(opacity=50);
      bottom:0;
      left: 0;
      right: 0;
      top: 0;
      background:black;
      z-index: 100;
      display: none;
    }

Key point 1: Be sure to set the two p's here to Absolute positioning takes it out of the document flow.

Point 2: The mask layer should set the bottom, left, right and top values ​​to 0 so that the mask layer can tile the entire screen.

Point 3: Be sure to set these two p's to display: none. Let the user not see these two p's at the beginning, otherwise it will be ugly to see these two as soon as they enter.

Point 4: To set the z-index value, the priority of the yellow button and the p that displays the video must be greater than the priority of the mask layer. Otherwise you can't click.

Now start js: get the id assignment for the first five. Then respond to the event when the yellow button is clicked.

Click event 1: Set the p where the video is located to display: block. Set the p where the mask layer is located to display: block. At the same time, Tudou video is displayed in the video screen p. This link is the sharing link of Tudou.com.

Click event 2: When clicking the yellow x button, these two p's should be hidden. That is, set the display of two p: none.

<script>
  var obtn=document.getElementById(&#39;video&#39;);
  var ovideo=document.getElementById(&#39;video-btn&#39;);
  var oatn=document.getElementById(&#39;video-area&#39;);
  var oshut=document.getElementById(&#39;video-shut&#39;);
  var oshadow=document.getElementById(&#39;shadow&#39;);
  obtn.onclick=function () {
    ovideo.style.display=&#39;block&#39;;
    oshadow.style.display=&#39;block&#39;;
    oatn.innerHTML=&#39;<embed src="http://www.tudou.com/v/Bs_lZPxcoRs/&
    rpid=818231113&autoPlay=true&resourceId=818231113_04_05_99/v.swf" allowFullScreen="true" 
    quality="high" width="500" height="300" align="middle" allowScriptAccess="always" 
    flashvars ="isAutoPlay=true" type="application/x-shockwave-flash">
    </embed>&#39;;
  }
  oshut.onclick= function () {
    ovideo.style.display=&#39;none&#39;;
    oshadow.style.display=&#39;none&#39;;
  }
</script>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn