Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript .empty().append()设置超时_Javascript_Jquery - Fatal编程技术网

Javascript .empty().append()设置超时

Javascript .empty().append()设置超时,javascript,jquery,Javascript,Jquery,我正在尝试循环浏览更多的div,但找不到正确的语法。它只适用于两个div。我试过var src=state?”#第一组:#第二组:#第三组#; 我对剧本没有经验。有人能告诉我合并更多div的正确方法吗?非常感谢你的建议 (function () { var delay = 5000; var state = 0; (function next() { state = 1 - state; var src = state ? '#div1'

我正在尝试循环浏览更多的div,但找不到正确的语法。它只适用于两个div。我试过var src=state?”#第一组:#第二组:#第三组#; 我对剧本没有经验。有人能告诉我合并更多div的正确方法吗?非常感谢你的建议

(function () {
    var delay = 5000;
    var state = 0;
    (function next() {
        state = 1 - state;
        var src = state ? '#div1' : '#div2' ;
        var $contents = $(src).contents().clone().fadeIn(1999);
        $('#indexscroll').empty().append($contents);
        setTimeout(next, delay);
    })();
})();

保留一个
div的列表
,在运行时递增
状态
,并在列表结束时将其重置为0:

var delay = 5000;
var state = 0;
var myDivs = ['#div1', '#div2', '#div3' /* etc. */ ];

(function next() {
  if (state >= myDivs.length)
    state = 0;

  var src = myDivs[state++];

  var $contents = $(src).contents().clone().fadeIn(1999);
  $('#indexscroll').empty().append($contents);
  setTimeout(next, delay);
})();

JSFIDLE将非常有用!这段代码试图做什么?我把它放到一个jsbin中,立刻意识到它正在做圆顶循环和重复的动画。此外,当可以使用jQuery和$.Deferred对象管理动画时,它使用setTimeout。因此,剩下的问题是预期结果(规格)?
state?“#div1':'#div2'
是一种速记方法,只适用于两种结果,您可以将#div1、#div2和#div3放入数组中,然后循环使用。谢谢您,Paul!你的建议对我想做的事非常有效。顺致敬意,