2016-09-03 2 views
3

1 백만개의 div 요소가 있습니다. 나는 div vsibile을 클릭클릭시 DIV의 가시성을 전환하십시오

  1. , 그것은 사라 :

    나는 다음과 같은 기능을 달성하고 싶다.

  2. 나는 div을 클릭

    , 보이지 않는 다시 나타납니다이었다 어떤 div.

예 : 1 개 백만 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

내가 물어 봐도 될까요? – Li357

+0

@AndrewL. 예를 들어, 그 아이디어는 많이있을 것입니다. –

+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가 태그가 지정되지 않았기 때문에 OP가 jQuery를 원하지 않는 것 같습니다. 단지 JavaScript가 태그되었습니다. 둘째로 이것은 OP가 원하는 것이 아닙니다. OP는 이전에 클릭 된 것을 숨기려고합니다. – Li357

+0

죄송합니다. jQuery 태그가 없다는 점을 발견하지 못했습니다. 또한 질문을 잘못 이해 한 것으로 보이지만 이것이 OP가 어떻게 의미가 있었는지를 대비하여 여기에 남겨 둘 수 있습니다. – StardustGogeta

+0

순수 JS를 사용할 수있을 때 jQuery를 사용하면 작업이 복잡해집니다. – Li357

관련 문제