函数每次重新加载的工作方式都不一样
Function working differently every reload
我知道这听起来有点奇怪,但我有功能,改变图像的高度和宽度我在准备好的文件上执行它。但每次我刷新页面,我得到不同的结果为相同的图像(它得到他们正确的每4或5次)。下面是我的代码:
$("img").each(function(){
$(this).width(
parseInt($(this).width()) / (parseInt($(this).width())/parseInt($(".container").css("height")))
);
$(this).height(parseInt($(".container").css("height")));
});
图像在一个容器中,我希望它们具有与容器相同的高度,宽度与高度相等。容器的高度是动态改变的,每次我改变容器的大小,我也改变了图像的大小(我在这里没有问题)。我不太明白为什么每次加载页面时,这种工作方式都会有所不同。
您应该使用$(window).load()
函数等待所有图像加载完毕,或者使用其他方法来控制图像加载。选择你的方式,但问题很简单,你的函数被触发之前,图像加载。
你不需要等待图片加载
但是你至少需要等待它们开始加载。
有什么区别?在我所知道的所有图像格式中,元数据的第一部分是图像的尺寸。这就是为什么对于较大的图像,你可以看到浏览器在图像开始加载时预留空间,然后在加载时用图像填充它。
忘掉这些,我刚刚意识到,你是在设置高度为容器的高度?在这种情况下…
$("img").each(function(){
this.style.width = "auto";
this.style.height = "100%";
});
好了。使用auto
的宽度将保持长宽比
相关文章:
- 为什么这在IE中的工作方式与在Firefox中不同
- 如何获得一个与用“”声明的变量工作方式相同的变量;设“;或在with块中
- javascript中的闭包对我来说工作方式不同
- for循环在node.js中的工作方式
- document.getElementsByClassName的工作方式与getElementById不同
- jQuery的工作方式不一样
- 为什么模块化幂函数在 Python 和 Javascript 中对于大数字的工作方式不同
- 自动滚动工作方式不同
- 布尔表达式-与AND、OR逻辑运算符混淆以及它们的工作方式
- Javascript ORing在变量中的工作方式
- Chrome扩展和Chome浏览器中的Jquery工作方式不同
- .htaccess和.htpasswd的内部工作方式
- window.location在IE9和FF中的工作方式不同
- jQuery .focus() 在每个浏览器中的工作方式不同.如何防止这种情况
- jquery-ajax 在 Mozilla 和 Chrome 中的工作方式不同
- 字符串包在 Firefox 25 中的工作方式不同
- 加载的JS的工作方式与硬编码不同
- event.target在手机上的工作方式是否不同
- iframe上的onload事件在IE和Firefox / GoogleChrome中的工作方式不同
- 为什么一串数字的工作方式与新日期中的实际数字不同