js动态改变img的src为啥部分图片可以显示,部分图片显示不了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js动态改变img的src为啥部分图片可以显示,部分图片显示不了相关的知识,希望对你有一定的参考价值。

二楼大侠,你的方法只是控制图片大小。我的问题是有一些图片它不显示,而有一些图片可以显示!

楼主,你要的代码如下:
<script language=javascript>
var flag=false;
function DrawImage(ImgD)
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0)
flag=true;
if(image.width/image.height>= 140/180)
if(image.width>140)
ImgD.width=140;
ImgD.height=(image.height*140)/image.width;
else
ImgD.width=image.width;
ImgD.height=image.height;

/*ImgD.alt=image.width+"×"+image.height;*/

else
if(image.height>180)
ImgD.height=180;
ImgD.width=(image.width*180)/image.height;
else
ImgD.width=image.width;
ImgD.height=image.height;

/*ImgD.alt=image.width+"×"+image.height;*/


/*else
ImgD.src="";
ImgD.alt=""
*/

</script>

把以上这段代码加在<head></head>之间
然后在图片显示的时候,用这种方式:
<img src='xxx.gif' border=0 onload='javascript:DrawImage(this);'> (其中xxx.gif是你要显示的图片)

以上代码我过N次了。。你也可以修改其中的几个数字来达到图片按照你的要求显示(比如你觉得上面这段代码中的图片宽高缩小后还是大了点,你可以再调小一点。其中140与180,分别代表宽和高,你修改的时候一定要注意如果修改140为120,则180一定要修改为160,也就是说要修改就两个值都减去同一个值。总之这两个值相减要等于40..

具体参考网址:

以上网站我都采用了这种方法,很有效的让图片按照比例缩小而不会变形。像是做到了图片略缩图的效果一样,很不错哦。。。
参考技术A 看看路径是否正确

用js动态的改变img标签里面的src属性实现图片的循环切换

JS:根据循环切换的条件可以用

document.getElementById(‘‘).src=‘‘设置,

或者jquery方法:

$(‘#id‘).attr(‘src‘,‘图片名称’);

 

具体:

if(true) {

 document.getElementById(‘id‘).src=‘a.png‘;

//or $(‘#id‘).attr(‘src‘,‘a.png‘);

}else {

  document.getElementById(‘id‘).src=‘b.png‘;

//or $(‘#id‘).attr(‘src‘,‘b.png‘);

}

 

//上面的红色的和红色的对应,蓝色的和蓝色的是对应的。

以上是关于js动态改变img的src为啥部分图片可以显示,部分图片显示不了的主要内容,如果未能解决你的问题,请参考以下文章

怎样用JS动态的改变img标签里面的src属性实现图片的循环切换。

用js动态的改变img标签里面的src属性实现图片的循环切换

vue中怎么动态添加img的路径

vue中img的src动态赋值(本地图片的路径)

vue中img的src动态赋值(本地图片的路径)

关于Img标签绑定:src不显示图片