zoukankan      html  css  js  c++  java
  • 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 | ...
     代码如下:

    $(function(){
    $("#demo2").autoIMG();
    }); 
    不在吃苦的年纪选择安逸!
  • 相关阅读:
    通达OA 新旧两种数据库连接方式
    c++ 如何获取系统时间
    性能测试开源小工具——http_load介绍
    http_load安装与测试参数分析
    不错的C++框架: Thrift(2)-传输和网络相关
    管理处理器的亲和性(affinity)
    300元内,此耳机是首选。不亏千人好评,对的起你的耳朵。
    [品质生活] 舒适 Schick HYDRO 5剃须刀
    巴氏刷牙法_百度百科
    Amazon.com : The Odyssey of the Manual Toothbrusher
  • 原文地址:https://www.cnblogs.com/DaHai-st/p/6108829.html
Copyright © 2011-2022 走看看