채택완료
열린 레이어 외의 모든 레이어를 닫는 건데요..
열린 레이어 외의 모든 레이어를 닫는 건데요..
이건 잘 되지가 않네요.
말은 되는것 같은데...... (ㅋ)
Copy
<script> <?php for ($i=0; $i <= 1000; $i++) { ?>$(document).ready(function(){ $("#panel<?=$i?>").hide(); $("#flip<?=$i?>").click(function(){ /* 현재 $i 가 둘다 동일하다면, */ if ($("#panel<?=$i?>") == $("#panel<?=$i?>")) { $("#panel<?=$i?>").slideToggle("fast"); } else { alert("동일한 경우에 해당되지 않음"); $("#panel<?=$i?>").hide(); } }); });<?php } ?></script>
답변 3개
채택된 답변
+20 포인트
이것만 봐서는 정확하게 답변드릴순 없으나 코드에 문제가 많습니다.
반복문을 이용하여 ready(), click() 이것만 1001번 실행이 됩니다.
페널을 한번에 숨기고 싶으면 class 또는 다른 태그에 감싸주셔야 됩니다.
<div id="wrapper">
<div class="panel"></div>
<div class="panel"></div>
...
</div>
$(document).ready(function() {
$("#wrapper .panel").hide();
});
조건문에는 같은 i를 비교하면 무의미한거 같네요.
정리를 하자면 php 반복문은 사용할 필요는 없고,
각각의 대상에 클릭 이벤트를 주는게 아니라
자식 선택자를 이용하여 해당 대상에게 슬라이드 효과를 주면 됩니다.
답변을 작성하려면 로그인이 필요합니다.