首页 > 解决方案 > 删除警报时,图像不会在 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";
    }

另外,我制作了一个相册,以展示代码是如何执行的:

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 还有什么其他方法可以停止代码或重新排列它,使其像最后一张图片一样工作?

谢谢!

标签: javascript

解决方案


你可能会使用

console.log()

而不是用于调试目的的 alert() 。这样你就可以监控你的代码正在做什么,而不会被提示打断。

除此之外,您的代码的功能性最终可能会更好地使用 CSS 来实现(即 margin:auto; img max-width:90%; ...)。


推荐阅读