手把手教小白如何用css+js实现页面中图片放大展示效果
1.前言
很多童鞋会在项目中遇到一些上传图片,展示图片的操作,但是图片呢有大有小,为了页面的美观,有时候我们需要将图片展示成固定宽高度,但是呢,领导就会说,我想看大图片,怎么办?想看就看呀,来来来,我教你!
2.详情
说太多也没有用,直接贴上代码。新手小白,可以直接复制代码到本地运行。需要注意一下几点
- 将代码中的jquery.js的库文件链接改成自己的路径
- 将图片也改成自己的路径与相应的图片
- 好了,直接上代码,一目了然:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>图片放大</title>
<style>
table tr td img{width:60px;}
table tr td{text-align:center; padding:5px;}
table tr th{background:#ddd; height:36px; }
table tr td{border-bottom:1px solid #ddd; border-left:1px solid #ddd; }
table tr td:last-child{border-right:1px solid #ddd;}
.bg-img{position: fixed;background-color:rgba(190,190,190,0.5);z-index:9999;}
.tra-img{text-align:center;position:relative;top:50%;
-webkit-transform:translateY(-50%);
-moz-transform:translateY(-50%);
-o-transform:translateY(-50%);
-ms-transform:translateY(-50%);
transform:translateY(-50%);
}
.zoom-in{
cursor: -moz-zoom-in;
cursor: -webkit-zoom-in;
cursor: zoom-in;
cursor: url(../images/big.cur);
}
.zoom-out{
cursor: -moz-zoom-out;
cursor: -webkit-zoom-out;
cursor: zoom-out;
cursor: url(../images/small.cur);
}
</style>
</head>
<body>
<table cellpadding="0" cellspacing="0" width="700">
<thead>
<tr>
<th>序号</th><th>图片</th><th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td><img class="zoom-in" src="../images/login-bg1.png" /></td>
<td>点击图片可放大</td>
</tr>
<tr>
<td>2</td>
<td><img class="zoom-in" src="../images/login-bg2.png" /></td>
<td>点击图片可放大</td>
</tr>
<tr>
<td>2</td>
<td><img class="zoom-in" src="../images/login-bg3.png" /></td>
<td>点击图片可放大</td>
</tr>
</tbody>
</table>
<script src="../common/jquery.min.js"></script>
<script>
//点击图片放大
$(document).on("click", "table tr td img", function () {
var img_content = $(this).attr("src");
$("body").append(
"<div class='bg-img'>"
+ "<div class='tra-img'>"
+ "<img src='" + img_content + "' class='zoom-out'>"
+ "</div></div>"
);
//bottom:'0',left:'0';会让图片从页面左下放出现,如果想从左上方出现,将bottom:'0'改成top:'0';
$(".bg-img").animate({
width: "100%",
height: "100%",
bottom: "0",
left: "0",
}, "normal")
})
//点击外层区域页面图片隐藏
$(document).on("click", ".bg-img", function () {
$(this).remove();
})
</script>
</body>
</html>
3.实现效果
- 图片展示

2.效果图

4.总结
大家在浏览器中执行的时候,会看到相应的效果,如果是低版本的浏览器,包括iE11及以下的浏览器,可以自己下载两个文件就是放大镜和放小镜的cur文件。这样的话用户体验会更好! 如果有更好的方法,请告诉我!
手把手教小白如何用css+js实现页面中图片放大展示效果的更多相关文章
- js获取页面中图片的总数
查看效果:http://keleyi.com/keleyi/phtml/image/9.htm 下面是完整代码: <html><body><div id="ke ...
- 菜鸟-手把手教你把Acegi应用到实际项目中(8)-扩展UserDetailsService接口
一个能为DaoAuthenticationProvider提供存取认证库的的类,它必须要实现UserDetailsService接口: public UserDetails loadUserByUse ...
- JS基础入门篇( 三 )—使用JS获取页面中某个元素的4种方法以及之间的差别( 一 )
1.使用JS获取页面中某个元素的4种方法 1.通过id名获取元素 document.getElementById("id名"); 2.通过class名获取元素 document.g ...
- [JQuery]用InsertAfter实现图片走马灯展示效果2——js代码重构
写在前面 前面写过一篇文章<[JQuery]用InsertAfter实现图片走马灯展示效果>,自从写过那样的也算是使用面向对象的写法吧,代码实在丑陋,自从写过那样的代码,就是自己的一块心病 ...
- 用JS改变页面中b标签的样式啊 样式的等
用JS改变页面中b标签的样式啊 样式的等 ,实际上是在标签内加上样式 ,用媒体查询的话 ,不能生效 <!DOCTYPE html> <html lang="en&qu ...
- 前端js保存页面为图片下载到本地
前端js保存页面为图片下载到本地 手机端点击下载按钮将页面保存成图片到本地 前端js保存页面为图片下载到本地的坑 html2canvas 识别 svg 解决方案 方案 html2canvas.js:可 ...
- 找到你的位置(JS在页面中的位置)最常用的方式是在页面中head部分放置<script>元素,浏览器解析head部分就会执行这个代码,然后才解析页面的其余部分
找到你的位置(JS在页面中的位置) 我们可以将JavaScript代码放在html文件中任何位置,但是我们一般放在网页的head或者body部分. 放在<head>部分 最常用的方式是在页 ...
- js控制页面的全屏展示和退出全屏显示
<!DOCTYPE html> <html> <meta http-equiv="Content-Type" content="text/h ...
- js+jquery+html实现在三种不通的情况下,点击图片放大的效果
js+jquery+html实现在三种不通的情况下,点击图片放大的效果. 三种情况分别是:图片的父元素宽高固定; 图片的宽高固定; 图片的父元素宽固定,高度不固定 第一种情况:图片的父元素宽高固定 ...
随机推荐
- fpm 制作 rpm 包
支持的 源类型包 ① dir : 将目录打包成所需要的类型, 可用于源码编译安装软件包 ② rpm : 对 rpm 包进行转换 ③ gem : 对 rubygem 包进行转换 ④ python : 将 ...
- react native-调用react-native-fs插件时,如果数据的接口是需要验证信息的,在android上运行报错
调用react-native-fs插件时,如果数据的接口是需要验证信息的,在android上运行报错,而在iOS上运行没问题.原因是因为接口是有验证信息的,而调用这个插件时没有传入,在iOS上会自动加 ...
- GA代码中的细节
GA-BLX交叉-Gaussion变异 中的代码细节: 我写了一个GA的代码,在2005测试函数上一直不能得到与实验室其他同学类似的数量级的结果.现在参考其他同学的代码,发现至少有如下问题: 1.在交 ...
- 反射+自定义注解---实现Excel数据列属性和JavaBean属性的自动映射
简单粗暴,直奔主题. 需求:通过自定义注解和反射技术,将Excel文件中的数据自动映射到pojo类中,最终返回一个List<pojo>集合? 今天我只是通过一位使用者的身份来给各位分享 ...
- [USACO07NOV]电话线Telephone Wire
[USACO07NOV]电话线Telephone Wire 时间限制: 1 Sec 内存限制: 128 MB 题目描述 电信公司要更换某个城市的网线.新网线架设在原有的 N(2 <= N &l ...
- 关于MATLAB处理大数据坐标文件201761
前几天备战考试,接下来的日子将会继续攻克大数据比赛 虽然停止了一段时间没有提交数据,但是这几天的收获还是有的,对Python 随机森林了解的更了解了 随机森林是由多课决策树组成(当然这个虽然我们初学者 ...
- redis 对象
redis通过前面几篇的数据结构构键了一个对象系统,这个对象系统包含了字符串对象,列表对象,哈希对象,集合对象,有序集合对象 每一个对象都是一个redisobject typedef struct r ...
- jquery fadeIn用法
$("#msgSpan").fadeIn("slow"); setTimeout('$("#msgSpan").hide("slo ...
- Adapter模式进行代码重构
Adapter(适配器)模式主要是将一个类的某个接口转换成一个兼容的接口. 下面是实现一个商品检索的示例 [Bad Code] public class Product { } public clas ...
- Gist - ES6 Iterator
Introduction Iterator is one of the most common design modes in daily development. Let's explore the ...