隐藏/更改/添加图片

Hide / Change / Add an image

本文关键字:更改 隐藏 添加      更新时间:2023-09-26

我最终要做的是有一个盒子和一个图像隐藏最初,然后取决于其他函数的结果,然后取消隐藏盒子(通过给它一个背景色)和图像,以及改变图像取决于所调用的函数。

下面的代码有两个问题:
  • 第一个是在执行时出现框,但图像不是。
  • 第二个函数被第二次调用时(抛出no第一次调用时的错误)由脚本的其余部分(这是一个计算器,所以它会发生多次)然后我得到一个错误,如果图像没有不再存在了:

"JavaScript运行时错误:无法设置属性'src'的undefined或空引用"

JScript:

function one(input) {
    document.getElementById("result").style.background = "lightgray";
    document.getElementById("result").style.color = "green";
    document.getElementById("icon").src = "tick.png";
    document.getElementById("icon").style.visibility = "visible";
}
function two(input) {
    document.getElementById("result").style.background = "lightgray";
    document.getElementById("result").style.color = "red";
    document.getElementById("icon").src = 'cross.png';
    document.getElementById("icon").style.visibility = "visible";
}
HTML:

    <div id="result">
<img src="tick.png" id="icon" style="visibility:hidden">
</div>

和CSS(尽管我怀疑这是必要的):

#result {

width: 820px;
height: 450px;
border-radius: 20px;
padding-top:25px;
padding-bottom: 25px;
color: green;
font-size:40pt;
text-align: center;
margin-top: 100px;
margin-right: 150px;
margin-left:420px;
}
#result img{
margin-top: 85px;
width:220px;
height: 190px;
    }

Barmar让我思考,所以谢谢你!

在调用函数时查看DOM后,发现使用. innertext的脚本的另一部分替换了HTML中的代码(仍然不明白为什么会这样做),所以在第一次调用时,我的标记就消失了,因此试图调用空引用。将the放到它自己的div中解决了这个问题。

还添加了一个位置属性设置为绝对在css中,并通过将图像带回视图修复了这个问题。

谢谢大家的帮助,非常感谢!:)