jQuery:隐藏和显示div的

时间:2014-04-05 03:23:42

标签: jquery

我想将div显示3秒。并显示下一个div 3秒。并继续这个计时器。 但是如果有其他代码可以解决这个问题,那么这段代码就无法运行了。

var timer = setInterval(showDiv(3000));
var counter = 0;

function showDiv() {
  if (counter ==0) 
    counter++;
  $('#text1, #text2').stop().hide().filter(function() { 
    return this.id.match('#text' + counter); 
  }).show();
  counter == 2? counter = 0 : counter++; 
}
showDiv();

});

1 个答案:

答案 0 :(得分:0)

如果元素匹配与否,则filter函数应返回一个布尔值。这里this.id.match返回一个数组,该数组是正则表达式执行的结果。您可以像下面这样简化过程,而不是使用过滤器功能:

  setInterval(showDiv,3000);
  var counter = 0;
  function showDiv() {
    if (counter ==0) { counter++;}
    $('#text1, #text2')
      .stop()
      .hide()
      .filter('#text'+counter)   
      .show();
    counter == 2? counter = 0 : counter++; 
  }