广

JavaScript

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    jQuery实现等比例缩放大图片

    2018-04-04 08:34:39 次阅读 稿源:互联网
    零七广告

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

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

    1.已知图片尺寸

    1. <div id="demo1"> 
    2.     <img src="a.jpg" width="800" height="300" alt=""> 
    3. </div> 

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

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

    2.未知图片尺寸

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

    1. <div id="demo2"> 
    2.     <img src="http://ww1.sinaimg.cn/large/63826f14jw1e1w67g8tdfj.jpg" alt=""> 
    3. </div> 

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

    下面隆重介绍下autoIMG。

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

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

    autoIMG地址:http://www.planeart.cn/?p=1157 下载autoIMG

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

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

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

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告