0

这很简单,但我被卡住了,需要一些新鲜的头脑来寻求帮助。

我想要实现的是将带有 jQ​​uery 的内容附加到 div 中。但是每隔一段时间到另一个 div,就像这样:

我现在有 js,它每 30 秒附加一次内容。HTML是这样的:

<div class="wrapper">
    <div class="a"></div>
    <div class="b"></div>
</div>

所以每隔一次我希望它添加div b,每隔一次添加div a。

抱歉解释不好。

4

4 回答 4

3

这是小提琴

setInterval(addDiv, 10000);
var aOrB = "a";

function addDiv() {
    $('#wrapper').append("<div class=" + aOrB + ">This is div with class " + aOrB + "</div>");
    if (aOrB === "a") aOrB = "b";
    else aOrB = "a";
}
于 2013-06-10T07:19:24.277 回答
1

循环的纯 js 版本认为包装器中的所有 div 并添加到其内容中。如果你想拥有更多这样的 div。

var divToAddTo = getElementById('warper').getElementsByTagName('div');
setInterval(function(){
    divToAddTo[i].innerHTML+="your content";
    i++;
    if(i=>divToAddTo.lenght){
        i=0;
    }
},30000);
于 2013-06-10T07:22:31.333 回答
0

尝试

var $wrapper = $('.wrapper');
var container1 = $('.wrapper .a');
var container2 = $('.wrapper .b');

setInterval(function(){

    var content = 'Hello, world!';

    var container = $wrapper.data('nextContainer');

    if(container == null)
         container = container1;

    container.append(content);

    $wrapper.data('nextContainer', container == container1 ? container2 : container1 );


}, 30 * 1000);
于 2013-06-10T07:08:17.437 回答
0

您可以使用setIntervalappendTo函数来实现这一点。这是JSFiddle。看看这个。或者,如果您有一个array具有固定值的 a,您可以像这样使用它来使用 every itemas a classof new div。这是它的JSFiddle

于 2013-06-10T07:10:54.210 回答