jquery中的javascript图像大小调整
javascript image resizing in jquery
我发现了一个用于动态调整图像大小以适应此处特定宽度的脚本。我为自己的网络应用程序修改了它,它在很大程度上起作用,但由于某种原因,当图像确实有比我想要的更大的宽度时,该函数有时会随机不触发if语句,因此图像永远不会调整大小。我设置了一个超时,希望这个超时能让浏览器有时间读取图像。但运气不好,为什么它不会触发?
附带说明:这是一个移动网络应用程序,我可以使用HTML5吗?
var maxWidth = 200;
var imgWidth = $('#locImg').width();
console.log(imgWidth);
setTimeout(function () {
if( imgWidth > maxWidth) {
newWidth = maxWidth;
var newHeight = $('#locImg').height() / ( $('#locImg').width() / maxWidth);
$('#locImg').height(newHeight).width(newWidth);
console.log($('#locImg').width());
$('#loc').css('visibility','visible');
}
else {
$('#loc').css('visibility','visible');
}
},750);
您可以使用这样的方法来确保图像完全加载:
var maxWidth = 200;
var imgWidth = $('#locImg').width();
var image = new Image();
image.src = $('#locImg').attr("src");
image.onload = (function () {
if( imgWidth > maxWidth) {
newWidth = maxWidth;
var newHeight = $('#locImg').height() / ( $('#locImg').width() / maxWidth);
$('#locImg').height(newHeight).width(newWidth);
console.log($('#locImg').width());
$('#loc').css('visibility','visible');
}
else {
$('#loc').css('visibility','visible');
}
});
这样,它只在图像完全加载后才开始调整大小。
相关文章:
- 使用JavaScript根据窗口/视口的高度动态调整图像大小
- 在javascript中调整图像大小
- 使用CSS、HTML和Javascript在随机图像的页面上调整图像大小
- 如何在Node.js中调整图像大小
- 使用send时,jquery文件上传不调整图像客户端的大小
- 在不影响原始画布外观的情况下调整图像大小
- fabric.js:使用 Image.set() 调整图像大小是否会降低图像质量
- 如何在浏览器宽度/高度变化时动态调整图像网格的大小
- 在客户端上传之前调整图像大小,在IE9上无需Flash
- 在客户端调整图像大小/裁剪图像的最佳方式是什么
- 在不丢失纵横比的情况下调整图像大小
- 使用drawImage,最大宽度调整图像大小以适应画布
- 在不损失质量的情况下调整图像JavaScript/jQuery的大小
- 调整图像大小,同时在Windows 8 Metro HTML5应用程序中保持其质量
- 使用Javascript调整图像大小,使其适合视口
- jquery中的上下滑动效果调整图像大小-如何避免
- resize事件未按预期调整图像大小
- 在将图像作为原始图像二进制数据(png或jpeg)上传到服务器之前,裁剪或调整图像大小
- 按一定宽度自动调整图像大小
- 预加载和调整图像大小jQuery/Javascript