javascript - 使用 jQuery 在特定时间间隔显示和隐藏 div

标签 javascript jquery css html timeout

我想以特定的时间间隔(10 秒)显示 div 并显示下一个 div,然后继续并重复相同的操作。

**

Sequence :

** 10秒 显示 div1 ,隐藏其他 div ,
间隔 5 秒后 显示 div 2 并隐藏其他 div,
间隔 5 秒后 显示 div 3 并隐藏其他 div,
每 10 秒重复一次。


Code Follows:


<div id='div1' style="display:none;"> 
  <!-- content -->
</div>

<div id='div2' style="display:none;"> 
  <!-- content -->
</div>

<div id='div3' style="display:none;"> 
  <!-- content -->
</div>

最佳答案

Working Example 此处 - 将 /edit 添加到 URL 以使用代码

您只需要使用 JavaScript setInterval功能

$('html').addClass('js');

$(function() {

  var timer = setInterval(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++;

  }

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
  <title>Sandbox</title>
  <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  <style type="text/css" media="screen">
    body {
      background-color: #fff;
      font: 16px Helvetica, Arial;
      color: #000;
    }
    
    .display {
      width: 300px;
      height: 200px;
      border: 2px solid #000;
    }
    
    .js .display {
      display: none;
    }
  </style>
</head>

<body>
  <h2>Example of using setInterval to trigger display of Div</h2>
  <p>The first div will display after 10 seconds...</p>
  <div id='container'>
    <div id='div1' class='display' style="background-color: red;">
      div1
    </div>
    <div id='div2' class='display' style="background-color: green;">
      div2
    </div>
    <div id='div3' class='display' style="background-color: blue;">
      div3
    </div>
    <div>
</body>

</html>

编辑:

针对您对容器div的评论,修改一下

$('div','#container')

对此

$('#div1, #div2, #div3')

关于javascript - 使用 jQuery 在特定时间间隔显示和隐藏 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/914951/

相关文章:

javascript - 创建打印链接

javascript - 如何在 Jquery Mobile 中加载 json 数据?

c++ - 如何使用 HTML/CSS UI 构建原生 C++ 应用程序?

javascript - 如何使用纯 JavaScript 实现此按钮行为?

javascript - Angular4 - 没有表单控件的值访问器

jquery - bounceInDown 动画结束后, Assets 在 Internet Explorer 10 中变得不可见

javascript - 元素缩放时 html2canvas 不起作用

css - 将 HTML 的一部分设置为不同的背景颜色

javascript - jQuery 幻灯片图像延迟

javascript - block 状替换 Sprite 路径