1

我有很多 div 标签。我试图一次只显示一个标签 10 秒。

即在显示div1时,必须隐藏div2,div3..divn,10秒后显示div2 10秒,隐藏其他div标签,以此类推。它是一种循环方式。

请帮忙。

在此处查看示例 html:

<html>

<head>
......
.......
</head>

<body>

<div id="div1">
........
......

</div>


<div id="div2">
........
......

</div>
..
..

<div id="divn">
........
......

</div>
</body>

</html>

问候, abk

4

2 回答 2

4

这应该工作:http: //jsfiddle.net/Z5uMV/

var current = 1;
function cycle() {
    $('#div' + current).fadeOut(function() {
        current++;
        if(current > 10) current = 1;
        $('#div' + current).fadeIn(function() {
            setTimeout(cycle, 10000);
        }
    });
}

cycle(); // start it
于 2013-01-30T10:58:15.113 回答
2

您可以使用setInterval

现场演示

var myVar=setInterval(function(){myTimer()},1000);
var index=1;
totalDivs = $('[id^=div]').length;
 $('[id^=div]').hide();
function myTimer()
{
     $('[id^=div]').hide();
     $('#div'+ index++).show(); 
     if(index >  totalDivs)
       index = 0;
}
于 2013-01-30T10:58:14.620 回答