這麼寫是沒錯的,
<script type="text/javascript">
function show(a){
if(document.getElementById('A'+a).style.display=='none'||document.getElementById('pic'+a).src=='bottom.png'){
document.getElementById('A'+a).style.display='block';
document.getElementById('pic'+a).src='top.png';
}else{
document.getElementById('A'+a).style.display='none';
document.getElementById('pic'+a).src='bottom.png';
}
}
</script>
那為什麼這麼寫就只有上面那個if語句有效果,下面的沒有效果?
<script type="text/javascript">
function show(a){
if(document.getElementById('A'+a).style.display=='none'){
document.getElementById('A'+a).style.display='block';
}else{
document.getElementById('A'+a).style.display='none';
}
if(document.getElementById('pic'+a).src=='bottom.png'){
document.getElementById('pic'+a).src='top.png';
}else{
document.getElementById('pic'+a).src='bottom.png';
}
}
</script>
一個函數內只能寫一個if語句嗎?
貼出下面body裡面的代碼
<div class="A">
<img src="bottom.png" id="pic1" onclick="show(1)"/>
我的文檔
</div>
<div class="nav">
<ul id="A1" style="display:none;">
<li>Adobe</li>
<li>Adobe Scripts</li>
<li>Downloads</li>
<li>多益網絡</li>
</ul>
</div>
if語句個數沒有限制,這兩個區別在於,如果初始值是下面這樣
document.getElementById('A'+a).style.display='block'
document.getElementById('pic'+a).src='bottom.png'
那麼這兩個if的效果不一樣。第一個裡面的if判斷是只要有一個符合條件,if判斷結果是true,就都改變。
而第二個函數中的if是分開的,如果按照上面的值,第一個if判斷是false,第二個是true.