【发布时间】:2019-01-05 12:07:50
【问题描述】:
我的代码目前遇到问题。我正在尝试通过 JavaScript 设置图像的高度,以检查其小于 600 像素。我尝试了很多替代一般“this.height = 600”的方法,但没有一个成功。我真的希望有人能帮我解决这个问题。
<div id="cursedframe">
<img src="" id="cursedimg">
</div>
<script>
function setImage() {
var img = new Image();
var images = [
"bean.jpg",
"xxx-edit-parallax/Images/xxx-5.jpg"
];
var chosen = images[Math.floor(Math.random() * images.length)];
img.onload = function(){
if (this.height > 600) {
console.log("more than");
this.height = 600;
console.log(img.height);
} else {
console.log("less than");
this.height = "auto";
console.log(this.height);
}
};
img.src = chosen.toString();
document.getElementById("cursedimg").src = img.src;
}
</script>
它成功通过了“if”,但从未真正设置高度。
编辑:当时不知道 max-height 和 max-width 的 CSS 属性。 Lain 引起了我的注意。谢谢
【问题讨论】:
-
你不能在 css 中将
max-height设置为 600px 吗?似乎和你在这里所做的差不多。 -
哇。那是一回事?啊,救主!我认为可以肯定地说我对 CSS 无感
-
顺便说一句,您永远不会将任何加载事件分配给
document.getElementById("cursedimg")。仅针对名为img的非DOM 图像,它对您实际显示的图像没有影响。您需要添加document.getElementById("cursedimg").style.height = img.height + 'px';
标签: javascript height