我在圖像中創建了幾個地圖區域。我想要顯示特定區域的描述。我使用了一個JavaScript函數。圖像包含大約15-20個地圖區域。以下是僅三個區域的簡單功能。這個工作正常。如何在javascript函數中使用for循環
function showdiv(id) {
obj = document.getElementById(id);
alert(obj);
if (obj.style.display == 'block') {
obj.style.display = 'none';
}
if (obj.style.display == 'none') {
if (obj == whatever1) {
whatever1.style.display = 'block';
whatever2.style.display = 'none';
whatever3.style.display = 'none';
} else if (obj == whatever2) {
whatever2.style.display = 'block';
whatever1.style.display = 'none';
whatever3.style.display = 'none';
} else if (obj == whatever3) {
whatever3.style.display = 'block';
whatever2.style.display = 'none';
whatever1.style.display = 'none';
}
}
}
我認爲這是對15個以上地圖區域不公平的方法。所以我試圖使用for循環。但是出了點問題。
<script>
function showdiv(id) {
obj = document.getElementById(id);
if (obj.style.display == 'block') {
obj.style.display = 'none';
}
if (obj.style.display == 'none') {
for (var i=0; i<=12; i++) {
var div = whatever + i;
if (div == obj) {
div.style.display = 'block';
home.style.display = 'none';
} else {
div.style.display = 'none';
}
}
}
}
</script>
這個基本問題的解決方案是什麼?任何人有任何建議?提前謝謝你。
'var div = whatever + i;' - 我在變量'div'中假設您期待DOM元素?這不會發生在那個聲明 – CodingIntrigue 2015-03-13 08:14:02