我使用setInterval会显示幻灯片,我想立即显示幻灯片,如何从一开始就防止延迟?
代码:
setInterval(
function() {
$("body, #resp-background").css({
'background-image': 'url(' + pics[i] + ')',
'-webkit-transition': 'background-image .25s ease-in-out',
'transition': 'background-image .25s ease-in-out;',
'-moz-transition': 'background-image .25s ease-in-out;',
'background-size': 'background-image .25s ease-in-out;',
'-o-background-size': 'cover',
'-moz-background-size': 'cover',
'-webkit-background-size': 'cover'
});
$('.s-description').html(descriptions[i]);
i++;
if (i >= pics.length) i = 0;
}, 4200);
的jsfiddle:
http://jsfiddle.net/kx1fgsox/3/
谢谢
答案 0 :(得分:0)
像这样:
var slider = function() { /*your code here*/ };
slider(); //execute immediately
setInterval(slider, 4200); //start interval loop
i
初始化为0
答案 1 :(得分:0)
甚至更干净:
(function loop () { /* do stuff */ })();
window.setTimeout(loop, 1000);
这样,函数auto会在init上执行。