手把手教小白如何用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实现在三种不通的情况下,点击图片放大的效果. 三种情况分别是:图片的父元素宽高固定; 图片的宽高固定; 图片的父元素宽固定,高度不固定 第一种情况:图片的父元素宽高固定 ...
随机推荐
- GCTF2017部分write up
Misc stage1 拿到题看到是一张图片隐写 用神器Stegsolve看看发现左上角藏着一张二维码 截下来,不能直接扫,需要反色处理一下 扫出来是一串十六进制 看头几个十六进制数发现是pyc文件 ...
- 原生javascript实现网页显示日期时钟效果
刚接触javascript中Date内置对象时,以为这些方法都太简单了,结果要自己实际操作写一个时钟效果还真一时把我难住了,主要有几点大家要注意的.先看实际效果 要实现这样的效果 某年某月某日星期几几 ...
- textarea的中文输入判断与搜狗输入法的特殊行为
虽然要讲解的知识点是通用的,但是还是要介绍下我的应用场景和测试环境. 0.1 应用场景和测试环境 我的应用是一块使用Html Canvas开发的黑板,在黑板上实现简单的文字编辑功能. 操作系统:win ...
- RabbitMQ安装与初始配置
[TOC] 本文只讨论linux下的Rabbitmq安装. Erlang安装 rabbitmq依赖于Erlang,需先安装,推荐安装rabbitmq/erlang-rpm: #clone源码 git ...
- golang 私钥"加密"公钥"解密"
---恢复内容开始--- 之前工作主要使用C/C++与银行/第三方支付对接,但C/C++无法满足客户"当天给协议明天实盘上载"的开发速度以及现公司一些特殊情况,所以决定用go来 ...
- java web项目中 读取properties 路径的问题
可以先获取项目的classPath String classPath = this.getClass().getResource("/").getPath();//获取classP ...
- windows环境下,怎么解决无法使用ping命令
基本都是因为"环境变量"导致的,查看环境变量path在"Path"中追加"C:\Windows\System32"
- [leetcode-532-K-diff Pairs in an Array]
Given an array of integers and an integer k, you need to find the number of unique k-diff pairs in t ...
- ES6的十大特性和认知
---恢复内容开始--- ES6(ECMAScript2015)的出现,无疑给前端开发人员带来了新的惊喜,它包含了一些很棒的新特性,可以更加方便的实现很多复杂的操作,提高开发人员的效率.本文主要针对E ...
- spring简单笔记
1.普通注入 1)构造器注入 <constructor-arg name="id" value="100" /> #直接赋值 <constru ...