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

JavaScript020

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 样式可根据个人的喜好自行添加。

写一个空的div,然后隐藏起来,等需要打开蒙层的时候动态设置其长宽,并显示出来,并且其位置从0.0开始,设置position为absolute。并设置透明度opacity。然后蒙层就有了!然后在这基础上加内容。

<body>

........

<div id="mask"> 》》 遮罩层

<img src="" > 》》 图片

</div>

<script>

给你写个简单的实现原理

1.执行某个事件后,显示遮罩层和图片,获取可视区的宽高的宽高,并将可视区的宽高赋值给遮罩层的宽高(透明的样式在css中设置),

2.定位图片的位置,top = document.documentElement.clientWidth - oImg.offsetWidth)/2+'px'

left = (document.documentElement.clientHeight - oImg.offsetHeight)/2 + 'px'

</script>

</body>

如果你会Js,应该能看懂