隐藏/更改/添加图片
Hide / Change / Add an image
我最终要做的是有一个盒子和一个图像隐藏最初,然后取决于其他函数的结果,然后取消隐藏盒子(通过给它一个背景色)和图像,以及改变图像取决于所调用的函数。
下面的代码有两个问题:- 第一个是在执行时出现框,但图像不是。
- 第二个函数被第二次调用时(抛出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中,并通过将图像带回视图修复了这个问题。
谢谢大家的帮助,非常感谢!:)
相关文章:
- 如何在提交前使用javascript更改隐藏的输入值
- 无法使用jQuery更改隐藏输入文本框的值
- 从laravel 5中的下拉框中选择项目时,应更改隐藏的输入值
- 使用Href Javascript调用更改隐藏输入
- JavaScript 更改隐藏值,然后提交表单
- 如何在选择单选按钮时更改隐藏表单数据的值
- 在更改隐藏字段的值后提交表单数据
- 如何使用javascript更改隐藏类型输入字段的值
- 单击单选按钮后更改隐藏名称属性
- 提交时Javascript更改隐藏字段
- 在javascript中需要更改隐藏输入字段的值
- 更改隐藏/显示方法
- 更改隐藏的可见性,并在单击事件发生时调用fadeIn()
- jQuery更改隐藏子元素的功能
- 在选择下拉菜单中,根据选项值更改隐藏/显示复选框
- 更改隐藏/显示画布上的按钮属性
- 如何在提交前更改隐藏输入字段的值
- 如何使用Javascript根据复选框的状态更改隐藏输入的值
- 在提交表单之前强制更改隐藏字段的值
- 通过使用Jquery检查复选框来更改隐藏名称