使用javascript的图像可见性
我想使用使用javascript的图像可见性,javascript,Javascript,我想使用切换图像,如果其他不起作用,请有人解释一下代码有什么问题 <img src="img/somepic.jpg" id="pic"><br/> <a href="javascript:toggleImg()">Toggle Image</a> <script> function toggleImg(){ var img = document.getElementById('pic'); var checkF
切换图像,如果其他
不起作用,请有人解释一下代码有什么问题
<img src="img/somepic.jpg" id="pic"><br/>
<a href="javascript:toggleImg()">Toggle Image</a>
<script>
function toggleImg(){
var img = document.getElementById('pic');
var checkForVisible = img.style.visibility == "visible";
if(checkForVisible == "visible"){
img.style.visibility = "hidden";
}
else{
img.style.visibility = "visible";
}
}
</script>
它成功了。我只想知道“if-else”代码不起作用。谢谢你这么做:
var checkForVisible = img.style.visibility == "visible";
==“visible”使它成为equals表达式的结果,因此它将是true或false
您的if/else is checkForVisible==“visible”将不起作用,因为is将只为true或false。你只需要比较一次
if(img.style.visibility == "visible"){
img.style.visibility = "hidden";
}
else{
img.style.visibility = "visible";
}
使用
切换
而不是if-else
。
function toggleImg(){
var img=document.getElementById('pic');
img.classList.toggle('hidden');
}
。可见{
显示:块;
}
.隐藏{
显示:无;
}
有错误。例如,在checkForVisible变量中,我不确定您试图做什么,但有太多的相等项。
您可以尝试以下方法:
function toggleImg(){
var img = document.getElementById('pic');
img.style.visibility = "visible";
if(img.style.visibility === "visible"){
img.style.visibility = "hidden";
}
else{
img.style.visibility = "visible";
}
}
checkForVisible
是一个布尔值,出于某种原因,您再次将其与“visible”
进行比较。只需使用if(checkForVisible)
。下面的答案是正确的,特别是使用toggle,但您应该尝试使用调试器单步执行代码,并在if(checkForVisible==“visible”)上设置断点{
查看var checkForVisible的值。学习如何执行此操作将允许您在将来亲自调试这些问题。
function toggleImg(){
var img = document.getElementById('pic');
img.style.visibility = "visible";
if(img.style.visibility === "visible"){
img.style.visibility = "hidden";
}
else{
img.style.visibility = "visible";
}
}