2012-01-26 2 views
1

9 개의 슬라이드가있는 jQuery 사이클 슬라이더 (.team_spotlight)가 있습니다. 자동 정지로 설정됩니다. 자동 정지 후 슬라이더를 제거한 다음 사용자 지정 기능을 트리거해야 모든 항목이 다시 시작됩니다.jQuery 싸이클 - 자동 멈춤과 함께 싸이클을 제거하고 다시 시작했습니다. 이제는 두 번째 슬라이드에서 모두 멈추지 않고 멈 춥니 다.

슬라이더가 처음으로 9 개의 슬라이드를 모두 통과하면 잘 동작합니다. 그러나 슬라이더가 파괴 된 후 다시 시작되면 두 번째 슬라이드에서 멈 춥니 다.

이 이상한 설정의 이유는 사용자 정의 클래스 ("플립")가 내 슬라이드가 전진 할 때마다 호출기. 이런 식으로 내 호출기를 구상 할 수 있습니다. - 활성 페이지가 노란색이고, 이전 페이지가 빨간색이고, 다음 페이지가 녹색입니다. 또한 각 페이지에 고유 한 ID를 삽입하여 스타일을 몇 가지 더 할 수 있습니다.

모든 슬라이드를 끝내고 나면 첫 번째 슬라이드로 돌아갈 때 모든 페이지가 다시 초록색이어야하므로 내 호출기를 재설정해야합니다. 따라서 사이클을 파괴하고 다시 시작하십시오.

(슬라이드를 파괴하지 않고도)이 색상 효과를 얻는 더 좋은 방법이 있다면, 나는 모두 귀입니다. 그렇지 않으면, 왜 사이클이 파괴되고 다시 시작된 후 두 번째 슬라이드에서 "멈추는 지"에 대한 수정이 필요합니다.

내 자바 스크립트 :

function paginate(ind, el) { 
    return '<a class="slidenav" id="slide' + ind + '"></a>'; 
} 

function shifttab() { 
    $('.activeSlide').addClass('flip'); 
} 

function resettabs() { 
    $('.team_spotlight').cycle('destroy'); 
    tabsanim(); 
} 

function tabsanim() { 
    $('.team_spotlight').cycle({ 
     fx: 'fade', 
     pause: 1, 
     speed: 0, 
     timeout: 4000, 
     cleartypeNoBg: true, 
     pager: '#pagernav', 
     pagerAnchorBuilder: paginate, 
     pagerEvent: null, 
     after: shifttab, 
     autostop: 1, 
     end: resettabs 
    });  
} 


$(document).ready(function() { 
    tabsanim(); 
}); 

편집 :

(가) 버그가 아직도 서 파괴, 그리고 그것을 해결하는 것이 유용 할 것이다.

그러나 현재 페이지와 해당 형제 인을 조작하여 원하는 효과를 복제 할 수있었습니다. 더 이상 슬라이더를 파괴하고 다시 시작할 필요가 없습니다.

+0

안녕 그것을 해결, 나는 (가능한 수정과) 버그 리포트를 제출 : https://github.com/malsup/cycle/issues/108 – biziclop

답변

0

은 주석 또는 줄을 제거하려고 :

function tabsanim() { 
    $('.team_spotlight').cycle({ 
     fx: 'fade', 
     pause: 1, 
     speed: 0, 
     timeout: 4000, 
     cleartypeNoBg: true, 
     pager: '#pagernav', 
     pagerAnchorBuilder: paginate, 
     pagerEvent: null, 
     after: shifttab, 
     end: resettabs 
    });  
} 

... 여기에 새로운 기능

tabsanim에서

autostop: 1,
을() .............. ... 다음 타이머가 문제를 해결하지 못했지만, 위의 변화가

function resettabs() { 
    $('.team_spotlight').cycle('destroy'); 
    setTimeout("tabsanim()",300); 
    } 
+0

아니, 고쳐주지 않았다. 같은 행동. – Jamie

+0

확인. 타이머를 두려워하지 말고 옵션 속성 autostop을 제거하여 코드를 테스트했습니다. 1, 위의 대답을 참조하십시오. – bdhac

+0

첫 번째 반복, 자동 종료가 필요했습니다. 나는 더 이상 (편집을 참조하십시오), 결과적으로 아무 것도 파괴 할 필요가 없습니다. 하지만 원래 버그의 원인을 아직 모릅니다. – Jamie