我需要一点这个功能的帮助:
function passar() {
var fotos1 = document.getElementById("foto1");
var fotos2 = document.getElementById("foto2");
var fotos3 = document.getElementById("foto3");
if ( fotos1.style.display = "block" ) {
fotos1.style.display = "none";
fotos2.style.display = "block";
} else if ( fotos2.style.display = "block" ) {
fotos2.style.display = "none";
}
}
当第一个条件发生变化时它应该隐藏“fotos 2”但它没有用,有人知道为什么吗?
答案 0 :(得分:3)
=
==
进行比较
===
进行严格比较
if (fotos1.style.display === "block") {
fotos1.style.display = "none";
fotos2.style.display = "block";
} else if (fotos1.style.display === "none") {
fotos2.style.display = "none";
}
}
答案 1 :(得分:1)
您的条件语句正在进行分配而不是比较:
if (fotos1.style.display === "block") {
fotos1.style.display = "none";
fotos2.style.display = "block";
} else if (fotos1.style.display === "none") {
fotos2.style.display = "block";
}
此外,建议在弱比较===
上使用==
进行严格比较。您可以获得比较的额外好处,在某些浏览器中也大约快4倍。
答案 2 :(得分:0)
你应该使用比较运算符,在这种情况下是双等号:
if (fotos1.style.display == "block") {
相反,您使用的是单个等号,它是一个赋值参数:
if (fotos1.style.display = "block") {