javascript - 删除警报时,图像不会在 javascript 中调整大小
问题描述
我有一个带有图像路径的数据库。通过 PHP,我在我的网站上插入图片。问题是我的代码不起作用。因此,我决定发出一些警报以找出问题所在。浏览完警报后,我注意到图像已调整大小并重新定位。经过一番阅读,我发现这是因为 javascript 与 HTML 和 CSS 同时执行,并且警报停止了 javascript,让 HTML 和 CSS 被执行。我应该如何更改我的代码以使图像工作?这是有问题的代码:
var box = document.getElementsByClassName("produs");
var pic = document.getElementsByClassName("imagine_produs");
var i;
for (i = 0; i < pic.length; i++) {
alert(pic[i].width);
if ( pic[i].width > 200 ) {
pic[i].width="200";
alert(pic[i].width);
}
var marg = (box[i].clientWidth - pic[i].clientWidth ) / 2;
pic[i].style.marginLeft = marg + "px";
pic[i].style.marginRight = marg + "px";
}
另外,我制作了一个相册,以展示代码是如何执行的:
还有什么其他方法可以停止代码或重新排列它,使其像最后一张图片一样工作?
谢谢!
解决方案
你可能会使用
console.log()
而不是用于调试目的的 alert() 。这样你就可以监控你的代码正在做什么,而不会被提示打断。
除此之外,您的代码的功能性最终可能会更好地使用 CSS 来实现(即 margin:auto; img max-width:90%; ...)。
推荐阅读
- objective-c - 在 obj c 中按任务执行 cycript
- facebook-graph-api - 无论我尝试什么,Facebook 的 Checkbox 插件都保持隐藏状态
- google-cloud-vision - 在我的应用程序中实现 Google Vision API
- python - 有没有办法自动更改列表/字典名称?
- java - 如何在线程中模拟对象
- ios - Web服务器上的iOS证书链检查
- jquery - 带有数字索引的元素名称的 jAutoCalc 通配符
- ada - 如何强制类型只保留一组固定的非连续值?
- android - 如何以编程方式修复动态单选按钮?
- css - 兄弟姐妹的 Z-index 问题