2012-03-19 4 views
0

jQuery Cycle을 사용하여 '매김 (paginate)'할 긴 목록이 있습니다. 목록에 약 40 개의 항목이 있으며 한 번에 5 개를 표시하고 아래쪽에 다음/이전을 표시하고 싶습니다. http://jsfiddle.net/saltcod/vmdaM/97/jQuery - 다른 함수가 실행 된 후에 만 ​​함수를 실행하십시오.

첫 번째 함수는 5 개 항목의 덩어리로 목록을 나누는 것, 그리고 jQuery를주기는 결과에 실행됩니다 :

이 내가 할 노력하고있어 것입니다.

5 개 항목으로 정리 된 목록이 있습니다. 그러나 jQuery Cycle은 계속 작업 할 div가 없음을 계속 알려줍니다.

jQuery Cycle이 시작되기 전에 첫 번째 기능이 목록을 완전히 잘라낸 것을 어떻게 확인할 수 있습니까?

감사

테리

+2

: 어쨌든, 여기에 올바른 마크 업을 사용하여 내 재 작성은입니다. 문제는 다른 곳에있다. – Ryan

+0

콘솔에'jquery.cycle.lite.js : 28 terminating; 슬라이드가 너무 적습니다 : 1' – mreq

답변

2

은 참으로 for 루프는 당신이 당신의주기 플러그인 초기화를 할 때까지는 완전 보장 언급 @minitech.

$('#projectList').cycle(...) 

projectList 요소가 그 안에있는 div가없는, 오직 하나의 ul :

문제는 당신의 선택입니다.

지금처럼 선택을 변경

: 물론

$('#projectList ul').cycle(...) 

... 당신의 wrapAll 통화가 마크 업이 잘못된했다. 적어도 당신이 얻을, 당신은 지금 거의 확실 유효하지 않습니다 ul > div > li이 ...하지만, 이봐, 어쨌든 작업을해야 조금 더 :

0

문제는 당신 <div>의 여전히 <ul> 내에 중첩된다는 것입니다. 거기에서 그들을 제거해야합니다. 무엇이 잘못되었는지 전혀 알지 못합니다. 제대로 작동하지 않습니다. 스타일 시트가 누락 되었습니까? 이미 이미 실행 보장된다

var count = 1; 
var newList; 
var projectList = $('#projectList'); 

projectList.find('ul').remove().find('li').each(function(i) { 
    if(i % 5 === 0) { 
     newList = $('<ul>'); 
     newList.appendTo($('<div>').addClass('panel panel' + count++).appendTo(projectList)); 
    } 

    newList.append(this); 
}); 

projectList.cycle({ 
    fx: 'scrollVert', 
    speed: 'fast', 
    timeout: 0, 
    prev: '.back', 
    next: '.more' 
}); 

Here's a demo.

+0

왜 당신이 downvoted을했는지 확신 할 수 없습니다 ... 당신의 솔루션은 마크 업을보다 정확하게 만들고 내부의 div를 사용하여'ul'을'li 's. 나는 newList 빌드 방법을 아주 좋아하는지 모르겠다.하지만 어쨌든 작동한다. – rfunduk

+0

@rfunduk : 걱정하지 마라. 직렬 다운 voter이다. 그리고 감사합니다 :) – Ryan

관련 문제