簡體   English   中英

功能不起作用

[英]function doesn't work

我需要一些有關此功能的幫助:

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”,但它沒有用,有人知道為什么嗎?

=分配

==用於比較

===用於嚴格比較

if (fotos1.style.display === "block") {   
fotos1.style.display = "none";  
fotos2.style.display = "block";  
 } else if (fotos1.style.display === "none") {  
 fotos2.style.display = "none";    
  }  
} 

您的條件語句正在執行分配而不是比較:

if (fotos1.style.display === "block") {   
    fotos1.style.display = "none";  
    fotos2.style.display = "block";  
} else if (fotos1.style.display === "none") {  
    fotos2.style.display = "block";    
}

另外,建議在弱比較==使用===進行嚴格比較。 在某些瀏覽器中,您還可以從比較中獲得大約4倍的比較速度,從而獲得比較的額外好處。

在這種情況下,您應該使用一個等於兩個的比較運算符:

if (fotos1.style.display == "block") {

取而代之的是,您使用的是一個等於值的賦值參數:

if (fotos1.style.display = "block") {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM