2012-11-05 76 views
0

我是一個完整的初學者,當談到javascript,我試圖創建一個簡單的if/else語句來顯示不同的div。使用Javascript if語句來顯示或隱藏div

<script> 
    if (window.FileReader && Modernizr.draganddrop){ 
     alert("Your browser supports drag and drop!!"); 
     document.getElementById(no).style.display = 'none'; 
    }else{ 
     alert("Sorry, browser does not support drag and drop!"); 
     document.getElementById(yes).style.display = 'none'; 
    } 
</script> 

,然後在體內

<div id="yes">Drag and drop yes</div> 

<div id="no">Drag and drop no</div> 

雖然Modernizr的工作只是正常的腳本顯示兩者的div

任何幫助將greatfully收到

+0

爲了這個目的,使用JQuery會更好。 –

+1

你爲什麼只用JQuery來使用它? –

+2

'yes'和'no'應該是字符串而不是變量。 – l4mpi

回答

0

該腳本在元素存在之前運行。使代碼運行在頁面完全加載後使用load事件:

<script> 
window.onload = function() { 
    if (window.FileReader && Modernizr.draganddrop){ 
     alert("Your browser supports drag and drop!!"); 
     document.getElementById('no').style.display = 'none'; 
    }else{ 
     alert("Sorry, browser does not support drag and drop!"); 
     document.getElementById('yes').style.display = 'none'; 
    } 
}; 
</script> 

而且,埃文發現,你正在使用noyes而不是字符串'no''yes'

+0

這完成了這項工作非常謝謝!只要它讓我接受這個答案 – tatty27

4

的問題是的getElementById期望一個字符串,據我所知,你還沒有宣佈是/否。

if (window.FileReader && Modernizr.draganddrop) { 
    alert("Your browser supports drag and drop!!"); 
    document.getElementById('no').style.display = 'none'; 
} else { 
    alert("Sorry, browser does not support drag and drop!"); 
    document.getElementById('yes').style.display = 'none'; 
} 
+0

但是,謝謝你的回答,因爲Guffa指出它確實需要使用加載事件 – tatty27