gpt4 book ai didi

javascript - 具有可变延迟的 jQuery 推子?

转载 作者:行者123 更新时间:2023-12-03 11:53:34 24 4
gpt4 key购买 nike

我正在使用淡入/淡出 jQuery 序列(类似于下面),但老板希望能够为几行指定不同的显示时间。我玩它的运气不太好。

function ShowList() {
var i = 1;
function showQt() {
if (i === 1) $('li').hide();
$('li').eq(i - 1).fadeIn(500, function() {
$('li').eq(i - 1).delay(1000).fadeOut(500, function() {
if (++i > 4) i = 1;
showQt();
});
});
}
showQt();
}
ShowList();

我需要做的是为各个 li 元素自定义延迟(1000)。因此,每个上述内容默认显示 1 秒,但是如果我只想让 li #3 显示 5 秒,例如,我该如何修改它?

这可能吗?

I've added a simplified jsfiddle here - 包括建议的计时器数组,但这也不起作用。

感谢您的帮助。

当然是方括号。多谢你们。修复这个问题几乎成功了,但随后被计时器循环困住了,就好像我们是一个短路一样(尽管有 4 行 4 行)。 Added an extra item to beginning of array所以现在 4 行有 5 个计时器(猜猜第一个被忽略了?)但现在我们已经万事大吉了。

最佳答案

试试这个:

var timers = [1000,1000,1000,5000,1000,8000,1000,1000,1000,1000];
// Sorry about my terrible array notation!

function ShowList() {
var i = 1;
function showQt() {
var d = timers[i-1];
if (i == 1) $('#textFade li').hide().delay(d);
$('ul#textFade li').eq(i-1).delay(d).fadeIn(1000, function() {
$('ul#textFade li').eq(i-1).delay(d).fadeOut(500, function() {
if (++i > 10) i = 1;
showQt();
});
});
}
showQt();
}
ShowList();

JSFiddle

关于javascript - 具有可变延迟的 jQuery 推子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25705523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com