저는 jQuery/javascript에 비교적 익숙하지 만 해결해야 할 단순한 걸림돌을 보았습니다. 무엇이 잘못되었는지를 볼 수 없습니다. 죄송 합니다이 간단하게 끝나지 만 부하를 검색했지만 끝까지.jQuery/Javascript - else if else else reach else
내가 볼 수 있는지 여부에 따라 여러 div가 페이드 인 또는 아웃되도록하려고합니다. div는 효과적으로 '다음'화살표를 클릭 할 때 진행하려는 '페이지'입니다.
여기 내 jQuery의 :
여기<table id="MainTable" width="765" border="0" align="center">
<tr>
<td align="left" valign="top" style="min-height:400px; padding-left:10px; padding-top:10px">
<div id="page1" style="position:absolute">
<div id="p1Title">Introduction</div>
<p></p>
<div id="p1Detail">....detail.....</div>
</div>
<div id="page2" style="position:absolute">
<div id="p2Title">Introduction - continued</div>
<p></p>
<div id="p2Detail">....detail.....</div>
</div>
<div id="page3" style="position:absolute">
<div id="p3Title">Members</div>
<p></p>
<div id="p3Detail">....detail.....</div>
</div>
</td>
</tr>
<tr>
<td align="right">
<div id="NextArrow"></div>
</td>
</tr>
</table>
는 "NextArrow"에 대한 CSS는 다음과 같습니다 :
#NextArrow
{
width:120px;
height:34px;
background-image:url('NextArrow.gif');
}
#NextArrow:hover
{
background-image:url('NextArrowHover.gif');
}
그래서 여기에 문제의
다음$(document).ready(function(){
$("#page1 > div").hide();
$("#page2 > div").hide();
$("#page3 > div").hide();
$("#page1 > div").fadeIn(800);
$("#NextArrow").click(function(){
if($("#page1").is(":visible")){
$("#page1 > div").fadeOut(800);
$("#page2 > div").fadeIn(800);
}
else if($("#page2").is(":visible")){
$("#page2 > div").fadeOut(800);
$("#page3 > div").fadeIn(800);
}
else {
alert("no page");
}
})
})
는 HTML입니다. 'NextArrow'div를 클릭하면 'page1'div가 예상대로 사라지고 'page2'div가 사라집니다. 그러나 다시 한 번 클릭해도 아무런 문제가 발생하지 않으며 '페이지 없음'알림도 표시되지 않습니다.
그냥 애니메이션 빨리하기 위해 #nextarrow을 클릭하고 간단한 케이스를, 그리고이 완료되기 전에 그것은 트리거 :
대신 시도 마지막 애니메이션 –
그건 문제가 아니에요, 나는 수수께끼를 만들었습니다 : http://jsfiddle.net/CKkpC/ – Christopher
문서를 보면, 그것은 실제로'가시성을 가진 요소 : 숨김 또는 불투명 : 0은 보이는 것으로 간주됩니다'라고 말합니다. 그래서 시작 부분에있는 모든 div가 표시로 간주됩니다 –