博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery实现等比例缩放大图片
阅读量:4580 次
发布时间:2019-06-09

本文共 1287 字,大约阅读时间需要 4 分钟。

 

在布局页面时,有时会遇到大图片将页面容器“撑破”的情况,尤其是加载外链图片(通常是通过采集的外站的图片)。那么本文将为您讲述使用jQuery如何按比例缩放大图片,让大图片自适应页面布局。

通常我们处理缩略图是使用后台代码(PHP、.net、Java等)根据大图片生成一定尺寸的缩略图,来供前台页面调用,当然也有使用前台javascript脚本将加载后的大图强行缩放,变成所谓的缩略图,这种方法不可取。但是,针对网站内容页,如本站文章详情页,如果需要加载一张很大的图片时,为了防止“撑破”布局,我们使用jQuery来等比例缩放图片。我们分两种情况来讲述:

1.已知图片尺寸

当页面加载的图片<img>中含有属性width和height值,则可以使用几句简单的jQuery代码实现等比例缩放。

$(function(){
var w = $("#demo1").width();//容器宽度 $("#demo1 img").each(function(){
//如果有很多图片,我们可以使用each()遍历 var img_w = $(this).width();//图片宽度 var img_h = $(this).height();//图片高度 if(img_w>w){
//如果图片宽度超出容器宽度--要撑破了 var height = (w*img_h)/img_w; //高度等比缩放 $(this).css({
"width":w,"height":height});//设置缩放后的宽度和高度 } }); });

2.未知图片尺寸

当页面加载的图片尺寸未知的情况下,上述代码则不能进行有效的缩放,这种情况多出现在采集的外部链接图片。

所幸的是,有好心朋友已经写出来专门的插件来处理,而且跨浏览器,解决了前端朋友们的一大难题。

下面隆重介绍下autoIMG。

autoIMG可以快速对文章图片进行尺寸自适应,它利用浏览器获取图片文件头尺寸数据,无需等待图片加载完成。

autoIMG兼容:Chrome | Firefox | Sifari | Opera | IE6 | IE7 | IE8 | ...

autoIMG地址:

调用autoIMG插件方法相当简单:

$(function(){
$("#demo2").autoIMG(); });

末尾,提醒下,您可以使用css的overflow:hidden来设置容器不被撑破,不过css只是将大图片的超出容器部分截取掉了,真正的缩放还是要通过上述javascript来解决。今天是周末,祝您愉快!

转载于:https://www.cnblogs.com/yexinw/p/3240083.html

你可能感兴趣的文章
gcc编译
查看>>
如何配置Java EE Eclipse+Tomcat 开发环境
查看>>
Android水平(横向)翻页列表,类似水平GridVIew
查看>>
C#高级语法
查看>>
adbd cannot run as root in production builds
查看>>
数据结构实践——败者树归并模拟
查看>>
sum over 分析函数用法
查看>>
git的使用理解(分支合并的使用理解,多人编程的解决方案)
查看>>
Linux之线程相关命令及常用命令
查看>>
JS进阶
查看>>
pwnable random
查看>>
silverlight 控件自定义样式 实现方法
查看>>
VirtualBox Cannot register the hard disk
查看>>
Linux的yum的配置
查看>>
tornado调用ioloop TracebackFuture实现非堵塞的模块
查看>>
chrome桌面通知notification
查看>>
codeforces 916E Jamie and Tree dfs序列化+线段树+LCA
查看>>
个人阅读作业+总结
查看>>
caffe.bin caffe的框架
查看>>
maven+springmvc+spring+mybatis+velocity整合
查看>>