jQuery实现等比例缩放大图片让大图片自适应页面布局_jquery

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

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

1.已知图片尺寸

复制代码 代码如下:

<div id="demo1">
<img src="a.jpg" width="800" height="300" alt="图片">
</div>

当页面加载的图片中含有属性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.未知图片尺寸

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

复制代码 代码如下:

<div id="demo2">
<img src="a.jpg" alt="图片">
</div>

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

下面隆重介绍下autoIMG。

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

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

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

复制代码 代码如下:

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

autoIMG实例下载

时间: 2024-10-27 09:27:54

jQuery实现等比例缩放大图片让大图片自适应页面布局_jquery的相关文章

jQuery实现按比例缩放图片

在网站中通常要显示各种尺寸的图片,但图片的尺寸不一定符合显示的要求.如果直接指定img的 width和height属性的话图片又很可能会被挤压的变形.下面这个代码可以把图片放进一个imgBox,并根 据imgBox的大小来按比例缩放图片以适应他,同时图片会在imgBox中居中显示.来看代码: 首先是HTML: 1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or

jquery实现图片等比例缩放以及max-width在ie中不兼容解决_jquery

上次用原生的JavaScript实现的图片等比例缩放,max-width和max-height在ie6中不兼容问题,今天用jQuery实现了这些问题 jQuery部分代码 复制代码 代码如下: <script type="text/javascript"> $(document).ready(function(){ var maxWidth=$(".imgBox").width(); $("img").each(function(){

JQuery实现等比例缩放图片大小的例子

1.己知图片高度与宽度 当页面加载的图片中含有属性width和height值,则可以使用几句简单的jQuery代码实现等比例缩放,也可以通过JQ内置函数来获图片取宽高.    代码如下 复制代码 $(function(){        var w = $("#demo1").width();//容器宽度        $("#demo1 img").each(function(){//如果有很多图片,可以JQ内置的each()遍历            var i

基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)_jquery

相关阅读: 基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能) 今天测试提了一个bug,发送短信倒计时功能,要求关闭页面也要进行倒计时.这想到了,当年我参与的周杰伦演唱会的先付先抢功能.与之类似,只不过,那个项目的时间都是服务器时间,本人目前有点偷懒,就用客户端的时间了. 一下是完整的代码,只不过在客户端的效率不是很好. <!doctype html> <html lang="en"> <head> <meta

用jquery实现等比例缩放图片效果插件_jquery

复制代码 代码如下: jQuery.fn.autoZoomLoadImage = function(scaling, width, height, loadPic) { if (loadPic == null) loadPic = "Loading.gif"; return this.each(function() { var t = $(this); var src = $(this).attr("src"); var img = new Image(); //a

Jquery数独游戏解析(一)-页面布局_jquery

另外最近时间允许的情况下会移植到html5,暂定名称为H5sukudo主要目的也是练手. body的代码如下,页面主体使用main层来控制尺寸,main中包含两个层:canvas和tools,分别用来承载数独表格和辅助信息.tools层中嵌套了logo,level,lefts,timer,leftsg,btns,err共七个层,分别用来承载LOGO.游戏难度.剩余空格数.已用时间.剩余空格数明细.按钮和错误提示信息.tools层中的样式写在default.css样式文件中.canvas层.lev

jQuery等比例缩放大图片(jQuery.autoIMG.min.js)

介绍下autoIMG. autoIMG可以快速对文章图片进行尺寸自适应,它利用浏览器获取图片文件头尺寸数据,无需等待图片加载完成. autoIMG兼容:Chrome | Firefox | Sifari | Opera | IE6 | IE7 | IE8 | ... 调用autoIMG插件方法相当简单:    代码如下 复制代码 $(function(){     $("#demo2").autoIMG(); }); 下面看个实例  代码如下 复制代码 <script type=

web图片同比例缩放的问题

问题描述 web图片同比例缩放的问题 由于上传的图片大小及比例都不同,想要图片显示成固定高度和宽度,而且是保持同比例缩放的,各位大神,怎么解决啊?谢啦 解决方案 服务器端进行等比率裁剪,自己百度下使用的语言,都有相关的代码的.或者使用waterfall此类的插件,可以自动帮你布局图片

JS实现等比例缩放图片

  有时候我们前端页面只有500×500像素的宽和高的布局,但是后台返回的数据图片是1000×1000,那么这种情况下 如果我直接返回的话 那么图片肯定有一部分没有显示出来,在这种情况下我是想能不能在我们前端开发实现图片等比例缩放.比如如下HTML代码: <div id="demo1">     <img src=http://www.update8.com/Web/Javascript/"http://img01.taobaocdn.com/imgextr