使用jQuery以特定时间间隔显示和隐藏div,但停止最后一个div

我需要一个代码是自动隐藏div 1并在特定时间显示div 2(我想我需要10秒或15秒),我有查看这篇文章: 使用jQuery在特定时间间隔显示和隐藏div

但它每10秒重复一次,我只需要隐藏div 1并显示div 2,然后永远停止它。 任何人都可以帮助编辑代码? 非常感谢,我真的非常需要它,但我的java很糟糕:(

假设你的div具有id "div1""div2 ”,并且"div1"开始可见并且"div2"开始隐藏,那么你可以隐藏第一个并在x毫秒后显示第二像这样:

 $("#div1").delay(10000).hide(0, function() { $("#div2").show(); }); 

如果您.fadeOut()可以使用.fadeOut().fadeIn()或其他动画方法代替.show().show()

将上述代码放在文档就绪处理程序中,如果意图是自动发生,或者在单击处理程序中,或者如果它是响应用户所做的事情。

演示: http : //jsfiddle.net/s7NXz/

如果你有两个以上的div,并且你想要完成一次,你可以做这样的事情:

 var $divs = $("div").hide(), // use an appropriate selector here current = 0; $divs.eq(0).show(); // show the first function showNext() { if (current < $divs.length - 1) { // if not past the end then $divs.eq(current).delay(2000).fadeOut('fast', function() { current++; $divs.eq(current).fadeIn('fast'); showNext(); }); } } showNext(); 

演示: http : //jsfiddle.net/s7NXz/1/

 $('html').addClass('js'); $(function() { var timer = setTimeout( showDiv, 5000); var counter = 0; function showDiv() { if (counter ==0) { counter++; return; } $('div','#container') .stop() .hide() .filter( function() { return this.id.match('div' + counter); }) .show('fast'); counter == 3? counter = 0 : counter++; } }); 

使用setTimeout代替setInterval

现在div1可见,div2被隐藏。 你想在特定的时间后显示div2并隐藏div1。

添加一个公共类’x’。

 $('.x').delay(1000).toggle(); 

您可以调整延迟和切换速度。 切换将显示匹配的隐藏元素并隐藏匹配的显示元素。 http://api.jquery.com/toggle/