誰かが私のコードのどこが間違っているかを説明してくれることを願っています...だから私はこの機能を持っています:
function divdisplay(element){
if(document.getElementById(element).style.display == 'none'){
document.getElementById(element).style.display = 'block';
for (var i=0; i<NUMBER_OF_DIVS; i++)
document.getElementById(i).style.display = 'none';
} else
document.getElementById(element).style.display = 'none';
関数は div を問題なく表示しますが、非表示部分が問題です。他にもいくつか隠したい<divs>
。これらids
の他の<divs>
要素は単純な数字です。そのため、これらの要素を変数で指定しようとしていますi
。しかし、#2 が既に表示されているときに<div>
#1をクリックすると、#1 だけが表示され、#2 は消えません。このような外観:<div>
<div>
<div>
<divs>
<div id="1" style="display:none;">
<a href="javascript:divdisplay(1);">
<img src="..."/>
</a>
</div>
<div id="2" style="display:none;">
<a href="javascript:divdisplay(2);">
<img src="..." />
</a>
</div>
<div id="3" style="display:none;">
...
そして、対応するリンクが表示されたときに最初に表示されます
<a href="javascript:divdisplay(1);">
<a href="javascript:divdisplay(2);">
<a href=...
クリックされます。
それぞれの画像<div>
は関数に再びリンクされているため、 内の画像をクリックすると再び非表示になりますが、別のリンクをクリックしても表示が再び消える<div>
ことはありません。<div>
どこで私は間違えましたか?
とにかく事前に感謝します。