#jquery #jquery-cycle
#jquery #jquery-цикл
Вопрос:
Я получаю сообщение об ошибке ниже:
завершает [цикл]; слишком мало слайдов: 1
Ниже приведен код для цикла jQuery. Я не уверен, почему это выходит в Chrome
var inners = $('ul#output li').cycle().cycle('stop');
var slideshow = $('ul#output').cycle({
fx: 'scrollHorz',
speed: 300,
timeout: 0,
startingSlide: 0,
before: function() {
// stop all inner slideshows
inners.cycle('stop');
// start the new slide's slideshow
$(this).cycle({
fx: 'fade',
timeout: 1000,
autostop: true,
end: function() {
// when inner slideshow ends, advance the outer slideshow
slideshow.cycle('next');
}
});
}
});
$.featureList(
$("#tabs li a"),
$("#output li"), {
start_item : 0
}
);
Что может быть не так?
Ответ №1:
на самом деле эта ошибка возникает, когда ваши скользящие элементы меньше 2. если вы хотите запустить плагин цикла в одном элементе, перейдите к
jquery.cycle.all.js
и найдите
if (els.length < 2) {
log('terminating; too few slides: ' els.length);
return;
}
и измените ограничение условия на 1, например
if (els.length < 1) {
log('terminating; too few slides: ' els.length);
return;
}
если вы не хотите запускать один элемент, вам следует поставить условие на стороне вашего языка
, которое отображает элемент, если количество элементов> 2
Ура!
Мудассар Али
Ответ №2:
Это что-то с вашей первой строкой:
var inners = $('ul#output li').cycle().cycle('stop');
Вы пытаетесь создать .cicle()
внутри .cicle()
. Если вы попытаетесь:
var inners = $('ul#output').cycle().cycle('stop');
Он не возвращает никакой ошибки.