zoukankan      html  css  js  c++  java
  • js 客户端动态调整图片宽度 解决方案

    一个项目需要动态处理客户端页面中图片的宽度,防止页面被过宽的图片撑变形。

    过程就不叙说了。最终代码如下: 

    <script language="javascript" type="text/javascript">
        window.onload
    =function()
        {

             var imgWidthToLimit=580;          //对图片的限制宽度
             
    var imgCongObj = ImgContainer.getElementsByTagName("IMG");     //获取id为ImgContainer的页面容器(div、table等)中的所有img对象
             
    for( i=0;i<imgCongObj.length;i++)
             {
                
    var image = new Image();
                image.src
    =imgCongObj[i].src;
                image.i
    =i;
                image.onreadystatechange
    =function(){ 
                    
    if (image.readyState=="complete") { 
                        
    var w= parseInt(image.width);
                        
    if(w>imgWidthToLimit) imgCongObj[this.i].width=imgWidthToLimit;
                    }
                } 
                
             }
        }                              
    </script>    

    参考资料:

    <script>
    var image = new Image();
    image.src = 'http://www.baidu.com/img/logo.gif';
    image.onreadystatechange=function(){
    if (image.readyState=="complete") {
    alert(["图片大小是:",image.width,image.height]);
    }
    }
    </script>

    解决了客户端图片没有加载而读取图片宽度时为0的问题。此法不稳定。后来我加到window.onload事件中  一切问题就解决了。

  • 相关阅读:
    小程序模板template问题记录
    datepicker 组件 的坑
    js实现 throttle 和 debounce
    vuex简单使用
    webpack 打包图片 缺失问题
    invalid prop `current` of type `string` supplied to `pagination`, expected `
    HTML5自定义属性之data-*
    vue组件传值方式介绍
    解决github.com 打不开问题
    git密令使用
  • 原文地址:https://www.cnblogs.com/zhangsir/p/1246707.html
Copyright © 2011-2022 走看看