多语言展示
当前在线:460今日阅读:23今日分享:25

JS实战004:图片弹窗

搞定了轮播,接着再做个图片弹窗的效果,最后再把图片弹窗和轮播结合起来,当我点击轮播中图片时能将图片弹出,达到放大的效果,为了不那么复杂,所以先分开来完成,今天先实现一张图片的弹窗效果,当鼠标点击图片的时候就将图片的原图弹出来,下面是效果图动画。
工具/原料

JavaScript

方法/步骤
1

第一步:,还是先写出HTML基本代码,这里只用到了一张图片,弹出的图片还是原来的哪一张,这里我分别定义了两个div,small指缩小的时候的,magnify是点开之后的。

2

第二步:样式布局,最外面的div是用来定义small中的图片显示区域的,后面可以根据外部的其他div进行调整,这里small我用了display: flex;弹性布局,弹出显示也有个动画效果(从0到1的放大效果),这里close按钮用到的是绝对定位position: absolute;相对于magnify进行定位,而content则是position: fixed;相对于浏览器窗口进行定位。

3

通过以上的 样式设置我们就可以得到如下的图案了,窗口中只能一张略缩的小图在浏览器窗口的中央位置,其他样式已经被隐藏起来了,这里我加了一个鼠标放上去半透明的效果,这样就知道浏览器已经响应了我们的设置了,同样我给small添加了一个z-index: 1;,为了方便magnify放在该元素之上作参考。

4

第三步,实现交互效果,接下来我们要获取到要执行操作的DOM元素,然后在执行相应的点击事件即可实现我们前面的效果,这里我给small和magnify定义成id标签的目的就是为了方便我们对DOM元素的抓取,其他元素则通过他们的子元素形式进行获取。

5

这里用到两个赋值操作,一就是把略缩图中的图片传递给放大图中,magnifyImg.src = this.src;二是把后台中的alt属性传递给了span标签中,这样我们就不用单独提供图片的描述信息了,点击之后我们得到就是如下的图像了。

6

后面我想把弹出也添加到滑动轮播图中去,这样当我细看轮播中的信息时我就可以点击放大了,下面是图片弹窗的完整代码,有兴趣的可以试试:

7

    JS图片弹窗 

注意事项
1

CSDN代码排版比较好,有兴趣的可以查看这个

2

https://blog.csdn.net/kevinfan2011/article/details/86702612

推荐信息