我已就此进行了大量研究,无法找到有关此主题的任何内容或如何做到这一点。
我已将自动添加到我的jquery滑块但是,我需要延迟它...任何人都可以帮助我,这是我的Jsfiddle:http://jsfiddle.net/Kenton9008/836pW/
function auto() {
$('#slider ul').animate({
left: - slideWidth
}, 1500, function () {
$('#slider ul li:first-child').appendTo('#slider ul');
$('#slider ul').css('left', '');
});
auto(function(){
setTimeout(auto, 2000);
});
};
答案 0 :(得分:1)
将setTimeout
添加到animate
函数的回调中应该可以按照您想要的方式运行:
function auto() {
$('#slider ul').animate({
left: - slideWidth
}, 1500, function () {
$('#slider ul li:first-child').appendTo('#slider ul');
$('#slider ul').css('left', '');
setTimeout(auto, 2000);
});
};
答案 1 :(得分:0)
我认为你的超时有点混乱。不要在调用auto函数内调用它,只需将其设置为在animate的完整函数中运行即可。像这样:
function auto() {
$('#slider ul').animate({
left: - slideWidth
}, 1500, function () {
$('#slider ul li:first-child').appendTo('#slider ul');
$('#slider ul').css('left', '');
setTimeout(auto, 2000);
});
};
jsfiddle:http://jsfiddle.net/836pW/3/
或者尝试使用jQuery' .delay()
函数,而不是这样:
function auto() {
$('#slider ul').delay(2000).animate({
left: - slideWidth
}, 1500, function () {
$('#slider ul li:first-child').appendTo('#slider ul');
$('#slider ul').css('left', '');
auto();
});
};
这是jsfiddle:http://jsfiddle.net/836pW/1/