使用javascript的图像可见性
Image visibility using javascript
我想使用 if-else
切换图像,但它不起作用,有人可以解释一下代码有什么问题吗?
<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>
我尝试使用"三元运算符"
img.style.visibility = checkForVisible ? "hidden" : "visible";
它奏效了。我只是想知道不起作用的"if-else"代码。谢谢
你这样做:
var checkForVisible = img.style.visibility == "visible";
=="可见"使它成为等于表达式的结果,因此它将是真或假。
你的if/else是checkForVisible =="visible",这将不起作用,因为is只会是真的或假的。您只需要比较一次。
if(img.style.visibility == "visible"){
img.style.visibility = "hidden";
}
else{
img.style.visibility = "visible";
}
使用 toggle
而不是 if else
。
function toggleImg() {
var img = document.getElementById('pic');
img.classList.toggle('hidden');
}
.visible {
display: block;
}
.hidden {
display: none;
}
<img src="img/somepic.jpg" id="pic">
<br/>
<a href="javascript:toggleImg()">Toggle Image</a>
有错误。例如,在检查可见变量中。我不确定你想做什么,但有太多的平等。你可以试试这个:
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";
}
}
相关文章:
- D3在一个调用中绘制不同的SVG形状,没有可见性
- jQuery css可见性在load方法中不起作用
- 页面可见性API实际上支持操作系统屏幕锁定吗
- 有没有一种方法可以从隐藏的可见性(CSS,JS)中获得淡入效果
- JavaScript可见性不起作用('隐藏'起作用,'可见'不起作用)
- 从内部回调的可见性
- Openlayers 3为了可见性而绑定到Vector层的复选框没有任何作用
- 在另一个下拉列表中的选择上切换下拉列表中选项的可见性
- 如何禁用mouseout可见性=“;隐藏的“;对小于768px的介质的影响
- 在网格视图的自动刷新过程中,设置内部网格视图文本框的可见性
- 使用javascript的图像可见性
- 如何在 JavaScript 中更改图像可见性
- 隐藏可见性会隐藏图像,但仍会显示隐藏元素占用的空间
- 页面加载时,图像的可见性值是否设置为隐藏
- php中的图像和可见性
- 检查图像文件的可见性
- D3设置图像可见性=隐藏错误
- 将图像可见性设置为假
- 使用cookie/复选框持久化图像可见性
- 我将如何去计时与javascript图像的可见性,例如使用myTimer