zoukankan      html  css  js  c++  java
  • js控制 固定框架内图片 按比例显示 以及 占满框架 居中显示

    js控制 固定框架内图片 等比例显示 以及 占满框架 纵横居中显示

    通过设置 js函数 fitDiv里面var fit的值就好

    function fitDiv (obj) {
        var target_width=$(obj).parents('.holder').innerWidth();
        var target_height=$(obj).parents('.holder').innerHeight();
        var target_factor=parseInt(target_width)/parseInt(target_height);
        var fit=0;//0 填充满整个区域  1 缩放到适应区域
        var img= new Image();
        img.src=$(obj).attr('src');
        var source_width=img.width > 0 ? img.width : target_width;
        var source_height=img.height > 0 ? img.height : target_height;
        var source_factor=parseInt(source_width)/parseInt(source_height);
        var tmp=0;
        if (source_factor>=target_factor) {
            //原图比较扁平
            //$(obj).css('padding-top',tmp+'px');
                if(fit==1){
                    source_height=target_width/source_factor;
                    tmp=Math.abs((source_height-target_height)/2);
                    $(obj).width(target_width).height(source_height).wrap('<div style="margin-top:'+tmp+'px;"></div>');
                }else{
                    source_width=target_height*source_factor;
                    tmp=Math.abs((source_width-target_width)/2);
                    $(obj).width(source_width).height(target_height).wrap('<div style="margin-left:-'+tmp+'px;"></div>');
                }
        }else{
            //原图比较长条
                if(fit==1){
                    tmp=Math.abs((target_width-(target_height*source_factor))/2);
                    $(obj).width('auto').height(target_height).wrap('<div style="margin-left:'+tmp+'px;"></div>');
                }else{
                    tmp=Math.abs((target_height-(target_width/source_factor))/2);
                    $(obj).width(target_width).wrap('<div style="margin-top:-'+tmp+'px;"></div>');
                }
        }
    }
    
    window.onload = function(){
            $('.fitfather div img').each(function(){
                    fitDiv(this);
            });
    }

    案例在: http://runjs.cn/code/psh7sjbo

  • 相关阅读:
    Firebase 如何创建登录 Token
    GitHub 如何从特定的版本中创建分支
    Firebase 命令行工具
    Python 日期格式和时间以及当前时间和时间戳
    Python DataTime 日期处理
    Python With 关键字和语句
    完整的微信接口类
    HashMap
    java运行时数据区域
    POI学习
  • 原文地址:https://www.cnblogs.com/lola/p/5771965.html
Copyright © 2011-2022 走看看