(JS+CSS)实现图片放大效果

简介: 代码很简单,在这里就不过多阐述,先上示例图: 实现过程: html部分代码很简单 1 2 点击图片 3 4 5 js部分 1 function expandPhoto(){ 2 var overlay = document.

代码很简单,在这里就不过多阐述,先上示例图:

实现过程:

html部分代码很简单

1 <div id="outer"> 
2    <p>点击图片</p> 
3    <img src="image/0.gif" title="点击图片放大缩小" /> 
4    <img src="image/项目管理十大知识领域逻辑关系.png" title="点击图片放大缩小" /> 
5   </div>   

js部分

 1 function expandPhoto(){  
 2     var overlay = document.createElement("div"); //创建div 
 3     overlay.setAttribute("id","overlay");  //给div添加id
 4     overlay.setAttribute("class","overlay");  //给div添加class
 5     document.body.appendChild(overlay);  //向页面中显示此div
 6   
 7     var img = document.createElement("img");  
 8     img.setAttribute("class","overlayimg");  
 9     img.src = this.getAttribute("src");  
10     document.getElementById("overlay").appendChild(img);  
11   
12     img.onclick = restore;  
13 }  
14 function restore(){  
15     document.body.removeChild(document.getElementById("overlay"));  
16     document.body.removeChild(document.getElementById("img"));  
17 }  
18 window.onload = function(){  
19     var imgs = document.getElementsByTagName("img");//找到所有img  
20     imgs[0].focus();  
21     for(var i = 0;i<imgs.length;i++){  
22         imgs[i].onclick = expandPhoto;  //绑定点击事件,执行方法
23         imgs[i].onkeydown = expandPhoto;  
24     }  
25   
26 } 

css部分(主要是针对新增div的样式)

 1  img{padding:5px;width:100px;height:auto;cursor: pointer;}  
 2     #outer{  
 3         width:100%;  
 4         height:100%;  
 5     }  
 6     .overlay{  
 7         background-color:#000;  
 8         opacity: .7;  
 9         filter:alpha(opacity=70);  
10         position: fixed;  
11         top:0;  
12         left:0;  
13         width:100%;  
14         height:100%;  
15         z-index: 10;  
16     }  
17     .overlayimg{  
18         position: absolute;  
19         z-index: 11;  
20         left:24%;  
21         top:55px;  
22         width:auto;
23         cursor: pointer;
24     }  

全部代码(修改图片途径即可)

 1 <!DOCTYPE html>
 2 <html>
 3  <head> 
 4   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
 5   <title>点击图片显示大图</title> 
 6   <style>  
 7     img{padding:5px;width:100px;height:auto;cursor: pointer;}  
 8     #outer{  
 9         width:100%;  
10         height:100%;  
11     }  
12     .overlay{  
13         background-color:#000;  
14         opacity: .7;  
15         filter:alpha(opacity=70);  
16         position: fixed;  
17         top:0;  
18         left:0;  
19         width:100%;  
20         height:100%;  
21         z-index: 10;  
22     }  
23     .overlayimg{  
24         position: absolute;  
25         z-index: 11;  
26         left:24%;  
27         top:55px;  
28         width:auto;
29         cursor: pointer;
30     }  
31 </style> 
32   <script>  
33 function expandPhoto(){  
34     var overlay = document.createElement("div"); //创建div 
35     overlay.setAttribute("id","overlay");  //给div添加id
36     overlay.setAttribute("class","overlay");  //给div添加class
37     document.body.appendChild(overlay);  //向页面中显示此div
38   
39     var img = document.createElement("img");  
40     img.setAttribute("class","overlayimg");  
41     img.src = this.getAttribute("src");  
42     document.getElementById("overlay").appendChild(img);  
43   
44     img.onclick = restore;  
45 }  
46 function restore(){  
47     document.body.removeChild(document.getElementById("overlay"));  
48     document.body.removeChild(document.getElementById("img"));  
49 }  
50 window.onload = function(){  
51     var imgs = document.getElementsByTagName("img");//找到所有img  
52     imgs[0].focus();  
53     for(var i = 0;i<imgs.length;i++){  
54         imgs[i].onclick = expandPhoto;  //绑定点击事件,执行方法
55         imgs[i].onkeydown = expandPhoto;  
56     }  
57   
58 }  
59 </script> 
60  </head> 
61  <body> 
62   <div id="outer"> 
63    <p>点击图片</p> 
64    <img src="image/0.gif" title="点击图片放大缩小" /> 
65    <img src="image/项目管理十大知识领域逻辑关系.png" title="点击图片放大缩小" /> 
66   </div>   
67  </body>
68 </html>
View Code

 

  • 感谢你的阅读。如果你觉得这篇文章对你有帮助或者有启发,就请推荐一下吧~你的精神支持是博主强大的写作动力。欢迎转载!
  • 博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高(其实是个菜B),不足和错误之处在所难免,希望大家能够批评指出。
  • 欢迎加入.NET 从入门到精通技术讨论群→523490820 期待你的加入
  • 不舍得打乱,就永远学不会复原。被人嘲笑的梦想,才更有实现的价值。
  • 我的博客:http://www.cnblogs.com/zhangxiaoyong/
目录
相关文章
|
1月前
|
JavaScript 前端开发 Go
CSS 与 JS 对 DOM 解析和渲染的影响
【10月更文挑战第16天】CSS 和 JS 会在一定程度上影响 DOM 解析和渲染,了解它们之间的相互作用以及采取适当的优化措施是非常重要的。通过合理的布局和加载策略,可以提高网页的性能和用户体验,确保页面能够快速、流畅地呈现给用户。在实际开发中,要根据具体情况进行权衡和调整,以达到最佳的效果。
|
19天前
|
前端开发 JavaScript
如何在 JavaScript 中访问和修改 CSS 变量?
【10月更文挑战第28天】通过以上方法,可以在JavaScript中灵活地访问和修改CSS变量,从而实现根据用户交互、页面状态等动态地改变页面样式,为网页添加更多的交互性和动态效果。在实际应用中,可以根据具体的需求和场景选择合适的方法来操作CSS变量。
|
9天前
|
缓存 前端开发 JavaScript
优化CSS和JavaScript加载
Next.js和Nuxt.js在优化CSS和JavaScript加载方面提供了多种策略和工具。Next.js通过代码拆分、图片优化和特定的CSS/JavaScript优化措施提升性能;Nuxt.js则通过代码分割、懒加载、预渲染静态页面、Webpack配置和服务端缓存来实现优化。两者均能有效提高应用性能。
|
10天前
|
前端开发 JavaScript
用HTML CSS JS打造企业级官网 —— 源码直接可用
必看!用HTML+CSS+JS打造企业级官网-源码直接可用,文章代码仅用于学习,禁止用于商业
48 1
|
15天前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
26 3
|
19天前
|
前端开发 JavaScript UED
如何使用 JavaScript 动态修改 CSS 变量的值?
【10月更文挑战第28天】使用JavaScript动态修改CSS变量的值可以为页面带来更丰富的交互效果和动态样式变化,根据不同的应用场景和需求,可以选择合适的方法来实现CSS变量的动态修改,从而提高页面的灵活性和用户体验。
|
25天前
|
JSON 移动开发 数据格式
html5+css3+js移动端带歌词音乐播放器代码
音乐播放器特效是一款html5+css3+js制作的手机移动端音乐播放器代码,带歌词显示。包括支持单曲循环,歌词显示,歌曲搜索,音量控制,列表循环等功能。利用json获取音乐歌单和歌词,基于html5 audio属性手机音乐播放器代码。
77 6
|
2月前
|
前端开发 JavaScript
HTML+JavaScript+CSS DIY 分隔条splitter
HTML+JavaScript+CSS DIY 分隔条splitter
用CSS+JavaScript打造网页中的选项卡
用CSS+JavaScript打造网页中的选项卡
|
1月前
|
前端开发 JavaScript
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
下一篇
无影云桌面