2016-09-03 6 views
3

私は百万のdiv要素を持っています。クリック時のDIVの表示を切り替えます

私は、以下の機能を実現したい:私はdiv vsibileをクリックすると

  1. 、それが消えます。

  2. 私はdivをクリック

    見えない再表示された任意のdiv

例:あなたは100万個のdiv要素を持っている理由

<div>1</div> <!-- Invisible div --> 
<div>2</div> 
<div>3</div> 
<div>4</div> 
<div>5</div> 
<div>6</div> <!-- Currently visible. On click, div 1 becomes visible and this becomes invisible--> 
... 1.000.000 
+3

は、私が聞いてもいいですか? @AndrewL。 – Li357

+0

一例ですが、アイデアは大いにあります。 –

+1

あなたの質問は非常に曖昧です - 開始状態は何ですか、表示されているのか、すべて隠されているのか、または一部のみ表示されていますか?ページがロードされた後、divの最初のクリックは何をすべきですか?divをクリックすると、別のdivをクリックするとどうなりますか? –

答えて

1

prev = false; 
 

 
document.querySelectorAll("#test div").forEach(function(a,i){ 
 
    a.index = i; 
 
    a.addEventListener("click",function(){ 
 
    if (prev !== false) document.querySelectorAll("#test div")[prev].style.opacity = 1; 
 
    this.style.opacity = 0; 
 
    prev = this.index; 
 
})});
#test * { 
 
    width: 60px; 
 
    height: 60px; 
 
    margin: 10px; 
 
    background-color: green; 
 
}
<div id="test"> 
 
    <div></div> 
 
    <div></div> 
 
    <div></div> 
 
    <div></div> 
 
</div>

+0

ザ・OPは、それがタグ付けされていないので、ちょうどJavaScriptがタグ付けされたjQueryのを望んでいないようです。第二に、これはOPが望んでいるものではありません。 OPは以前にクリックされたものを非表示にしたい。 – Li357

+0

申し訳ありませんが、私はそこにjQueryタグがないことに気づいていませんでした。また、それは私が質問を誤解し、私は、これはOPがそれを意味する方法である場合には、ここでこれを残すことができるようです。私は質問を誤解している可能性が考えられたときの応答をありがとう@Miller – StardustGogeta

+0

あなただけの純粋なJSを使用することができたときにjQueryを使って物事をovercomplicateする理由はありません:) – Li357

関連する問題