js如何实现点击图片弹出窗口并放大这张图片,弹出的窗口有半透明遮罩层效果,弹出的窗口不跳页面

JavaScript014

js如何实现点击图片弹出窗口并放大这张图片,弹出的窗口有半透明遮罩层效果,弹出的窗口不跳页面,第1张

通过JS代码  document.getElementById('divID').style.etElementById('divID').style.display = 'none'。函数可以实现。

1、遮罩层:<div id="back"></div>,即作为背景层,覆盖整个页面。弹出层:<div id="form"></div>,即背景层上的一层,此层可根据#form{top: 10%left: 10%width: 20%height: 30%},调整弹出层的弹出位置。

2、弹出层和遮罩层全部为div标签,可以利用display来控制显示和隐藏的属性,在js中,显示:   document.getElementById('divID').style.display = document.getElementById('divID').style.display = 'none'。

3、显示遮罩层和弹出层,即可用图中popDiv()函数表示: 其中,showId 表示弹出层的divId, backId 表示遮罩层的divId;函数第去、2行显示弹出层和遮罩,3、4、5行设置遮罩层的长度、宽度。

4、关闭弹出层和遮罩层用hideDiv函数(), 其中:showId 表示弹出层的divId, backId 表示遮罩层的divId;先关闭弹出层,后关闭遮罩层。

5、点击按钮后,弹出,要给按钮加上onclick函数,<button onclick="popDiv('form','back')">点我,显示弹出层</button>。

6、整体代码如下,css 样式可根据个人的喜好自行添加。

遮罩层的CSS #mask { position: fixedleft: 0right: 0top: 0bottom: 0background: rgba(0, 0, 0, .3)z-index: 99999}在传统浏览器中,不支持rgba的写法。

ie下面高版本的渐变又透明的才行。没法透明,可以考虑使用透明png。

rgba最后面的那个1可以改为0.8试试看,就变成透明的了。。

#box{width:200pxheight:200pxoverflow:hiddenposition: relative}

#box span{

display: blockwidth:100%height:100%position: absolutetop:0left:0

background-image:linear-gradient(bottom, rgba(0,0,0,1) 0%,rgba(255,255,255,1) 100%)

background-image:-o-linear-gradient(bottom, rgba(0,0,0,1) 0%,rgba(255,255,255,1) 100%)

background-image:-moz-linear-gradient(bottom, rgba(0,0,0,1) 0%,rgba(255,255,255,1) 100%)

background-image:-webkit-linear-gradient(bottom, rgba(0,0,0,1) 0%,rgba(255,255,255,1) 100%)

background-image:-ms-linear-gradient(bottom, rgba(0,0,0,1) 0%,rgba(255,255,255,1) 100%)

filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#000000,endColorstr=#ffffff,grandientType=1)

}

<div id="box">

<img src="https://ss3.baidu.com/-fo3dSag_xI4khGko9WTAnF6hhy/news/q=100/sign=2c88d7ac67d0f703e0b291dc38fb5148/3bf33a87e950352a60c7a4b35643fbf2b3118be3.jpg">

<span></span>

</div>