功能不起作用

时间:2012-05-24 22:18:37

标签: javascript

我需要一点这个功能的帮助:

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”但它没有用,有人知道为什么吗?

3 个答案:

答案 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") {