jQuery-仅在另一个函数完成运行后运行该函数
我有一个很长的列表,我想使用jQuery循环“分页”。列表中大约有40个项目,我想一次显示5个,底部是下一个/上一个 这就是我想做的: 第一个函数将列表分成5个项目的块,然后jQuery循环将对结果运行 我把清单分为5项,很好。但是jquerycycle一直告诉我它没有任何div可以使用 在jQuery循环开始之前,如何确保第一个函数完全完成了对列表的切片 谢谢jQuery-仅在另一个函数完成运行后运行该函数,jquery,jquery-cycle,Jquery,Jquery Cycle,我有一个很长的列表,我想使用jQuery循环“分页”。列表中大约有40个项目,我想一次显示5个,底部是下一个/上一个 这就是我想做的: 第一个函数将列表分成5个项目的块,然后jQuery循环将对结果运行 我把清单分为5项,很好。但是jquerycycle一直告诉我它没有任何div可以使用 在jQuery循环开始之前,如何确保第一个函数完全完成了对列表的切片 谢谢 Terry事实上,正如@minitech提到的,for循环保证在您进行循环插件初始化时完成 问题在于您的选择器: $('#projec
Terry事实上,正如@minitech提到的,for循环保证在您进行循环插件初始化时完成 问题在于您的选择器:
$('#projectList').cycle(...)
projectList
元素中没有任何div,只有一个ul
按如下方式更改选择器:
$('#projectList ul').cycle(...)
当然。。。您的
wrapAll
调用使标记不正确。您现在有ul>div>li
,这几乎肯定是无效的。。。但是,无论如何,它应该可以工作,至少让您更进一步:)问题是您的
仍然嵌套在
中。你需要把它们从那里移除。我不知道出了什么问题,我不能让它正常工作。您是否缺少样式表?无论如何,这是我的重写,它使用了正确的标记:
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'
});
var计数=1;
var新列表;
var projectList=$(“#projectList”);
projectList.find('ul').remove().find('li').each(函数(i){
如果(i%5==0){
新列表=$(“”);
newList.appendTo($('').addClass('panel panel'+count++).appendTo(projectList));
}
追加(这个);
});
projectList.cycle({
fx:'滚动垂直',
速度:“快”,
超时:0,
上一页:'.back',
下一个:“.更多”
});
它已保证已运行。问题出在别处。控制台说
jquery.cycle.lite.js:28;幻灯片太少:1
我不知道你为什么被否决。。。您的解决方案无疑使标记更加正确,将带有内部div
s的ul
展开为多个ul
s,其中只包含li
s。我不确定我是否完全喜欢newList
构建方法,但是,嘿,它是有效的:)@rfunduk:别担心,这是一个连续的下降投票者。谢谢:)