2009-08-05 3 views
1

DIV의 이미지 세트에서 슬라이드 쇼를 만들려면 다소 기본적인 jQuery 코드를 작성합니다. CSS는 모든 이미지가 서로 겹쳐 지도록합니다. 이 스크립트는 세트의 활성 이미지를보고 나서 CSS 클래스를 통해 NEXT 이미지의 z- 인덱스를 위로 이동시키고 0.0 불투명도에서 페이드 인합니다. 린스, 반복하십시오. 사실 John Raasch's blog에서 찾은 코드를 기반으로합니다.jQuery : 하나의 DIV에서 많은 DIV로 슬라이드 쇼 변환

불투명도가 사라지면 페이지의 다음 슬라이드 쇼 DIV를보고 한 이미지만큼 앞으로 이동하고 모든 DIV가 순차적으로 앞으로 이동할 때까지 페이지를 계속 진행하도록 코드를 조정하려고합니다. 하나의 프레임. 그런 다음, 나는 약간의 간격을두고 그것을 다시 한 번 해보고 싶다.

나는 다음과 같은 코드를 생성 시도했습니다,하지만 그 target.next는 함수가 아닙니다 말해, 나를 깨고 ...

jQuery를

$(document).ready(function(){ 
    setInterval("slideSwitch('div:first')", 5000); 
}); 

function slideSwitch(target) { 
    var nextTarget = target.next(); 
    var active = $(target+' img.active'); 

    if (active.length == 0) 
     active = $(target+' img:last'); 

    var next = active.next().length ? active.next() : $(target+' img:first'); 

    active.addClass('last'); 

    next.css({opacity: 0.0}) 
     .addClass('active') 
     .animate({opacity: 1.0}, 500, function() { 
      active.removeClass('active last'); 
      slideSwitch(nextTarget); 
     }); 
}; 

답변

1

당신의 "대상"아니다 jquery 객체 $ (목표)를해야합니다 .next()

+0

제이슨, 점프 주셔서 감사합니다! nextTarget 변수를 다음과 같이 변경했습니다. var nextTarget = $ (target) .next(); 이제 새로운 문제가 생겼습니다. JS가 .nimate 콜백에서 slideSwitch (nextTarget)를 실행할 때 Firebug 콘솔에 다음과 같은 오류가 발생합니다. 잡히지 않은 예외 : 구문 오류, 인식 할 수없는 표현 : [object Object] 아이디어가 있습니까? –

+0

jquery 객체를 함수에 다시 전달하기 때문에 jquery 객체의 jquery 객체를 얻으려고하는 것이므로 혼란 스럽기 때문에 생각합니다. 엘리먼트 나 cass를 애니메이션 함수의 타겟으로 전달하면, 당신이 보내는 것을 기반으로 다음 타겟을 설정하기 때문에 작동해야합니다. – Jason

관련 문제