2012-05-07 2 views
0

을 나는 다음과 같은 코드가 있습니다확인 클래스, 무언가

<div id="slideshow" > 
    <div class="check"> 
     <img src="images/slideshow/image01.jpg" alt="Slideshow Image 1" /> 
    <p>Some paragraph</p> 
    </div>  
    <div> 
     <img src="images/slideshow/image02.jpg" alt="Slideshow Image 2" /> 
     <p>Some paragraph</p> 
    </div> 
    <div> 
     <img src="images/slideshow/image03.jpg" alt="Slideshow Image 3" /> 
     <p>Some paragraph</p> 
    </div> 
</div> 

나는 일종의을 만들 서로 이상에서 아웃 된 div 페이드 다음 코드를 사용하여이 슬라이드 쇼 방법을 발견을 이미지 슬라이드 쇼 ::

function slideSwitch() { 

var $active = $('#slideshow DIV.check'); 

if ($active.length == 0) $active = $('#slideshow DIV:last'); 

var $next = $active.next().length ? $active.next() 
    : $('#slideshow DIV:first'); 

$active.addClass('last-active'); 

$next.delay(2000) 
    .css({opacity: 0.0}) 
    .addClass('check') 
    .animate({opacity: 1.0}, 1000, function() { 
     $active.removeClass('check last-active'); 
    }); 
} 

$(function() {setInterval("slideSwitch()", 8000);}); 

여기서 알 수 있듯이 DIV에 페이드 인 클래스 "check"가 추가되었습니다. 내가 뭘 하려는지 Jquery 확인 div 클래스에 "체크"slideSwitch 함수를 추가 한 다음 뭔가를 할 때. 나는 이것을 시도했다, 그러나 그것은 작동하지 않습니다

if ($("#slideshow > div:nth-child(2)").hasClass('check')) { 
    $("#slideshow > div:nth-child(2)").animate({marginTop: "-50px"}, 5000); 
} else { 
//Do nothing 
} 

그것은 내가 단지 1 아이를 확인하는 경우 작동하거나 그냥이를 추가하는 경우 (이미 HTML 코드에 정의 된 클래스가 아마 때문에) :

if ($("#slideshow DIV").hasClass... etc 

그러나 다음 애니메이션은 바로, 그것은 2 DIV 자바 스크립트 할당 "확인"클래스를했다 후 바로 시작하는 내가 정말 원하는 것이있을 때 시작됩니다. 도와주세요!!!!!

+0

"DIV에 페이드 인"check "클래스를 추가합니다. div에 사라지는 클래스를 추가하는 것이 아니라 불투명 애니메이션입니다. – j08691

+0

당신은 읽었습니까 : http://stackoverflow.com/q/1950038/476786 – bPratik

+0

@ j08691 예, 미안하지만, 여전히 나에게해야 할 일이 바뀌지 않습니다. bPratik, 저것 좀 봐. – antigaprime

답변

1

클래스는 위의 코드에서 호출 될 때 즉시 추가됩니다. 왜 거기에 애니메이션을 포함시키지 않겠습니까?

$next.delay(2000) 
    .css({opacity: 0.0}) 
    .addClass('check') 
    .animate({opacity: 1.0}, 1000, function() { 
     $active.removeClass('check last-active'); 
     $("#slideshow > div:nth-child(2)").animate({marginTop: "-50px"}, 5000); 

    }); 
} 
+0

흥미 롭군요.하지만 다음 발사에서 움직이기를 원하지 않습니다. 정확한 2D DIV에 애니메이션을 적용해야합니다. 두 번째 전에 DIV를 추가하기로 결정하면 선택기를 변경할 수 있습니다. 그러나 어쨌든 고마워. – antigaprime

+0

Gotchya, 잘 돌아가서 교체해야합니다. 필요할 때 발사해야합니다. 위의 업데이트를 참조하십시오. –

+0

Yup, 그 트릭을 수행했습니다. 사실 내가 이전에 셀렉터를 바꿀 수 있다는 사실을 깨달았어야했습니다. – antigaprime