плагин цикла jQuery

как я могу установить несколько тайм-аут?
помогите мне...

timeout:'1000, 2000, 3000' это не работает.

1
задан skaffman 30 April 2010 в 09:17
поделиться

1 ответ

Вместо использования свойства timeout вы должны использовать timeoutFn и определить там функцию, которая возвращает число миллисекунд, чтобы дождаться следующего слайда.

Например, если у вас всего 3 слайда и вы хотите использовать эти 3 тайм-аута (1000, 2000, 3000), то я предполагаю, что после последнего тайм-аута вы хотите снова использовать первый тайм-аут (у каждого изображения есть время, чтобы остаться включенным. экран). В этом случае код будет просто:

$('#s1').cycle({
    timeoutFn: function (curr, next, opts, isForward) {
        return (opts.currSlide + 1) * 1000;
    }
});

С другой стороны, если вы хотите установить более 3 слайдов, вы можете использовать свои собственные свойства (например, массив и счетчик) и использовать их внутри функции для вычислить соответствующий тайм-аут:

$('#s1').cycle({
    timeoutFn: function(currElement, nextElement, opts, isForward) {
        opts.myTimeoutCount = (opts.myTimeoutCount + 1) % opts.myTimeouts.length;
        return opts.myTimeouts[opts.myTimeoutCount];
    },
    myTimeouts: [1000, 2000, 3000],
    myTimeoutCount: 0
});

И, наконец, если вы не хотите показывать другие слайды после последнего тайм-аута, вы должны просто использовать свойства autostop и autostopCount :

$('#s1').cycle({
    autostop: true,
    autostopCount: 3,
    timeoutFn: function (curr, next, opts, isForward) {
        return (opts.currSlide + 1) * 1000;
    }
});
2
ответ дан 3 September 2019 в 01:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: