问题:关于坛友的一个定时重复显示和隐藏div的实现

需求:打开页面只看到DIV2,等完秒数之后在显示DIV3。手动关闭DIV3后在重新数秒

我设置的间隔时间是3秒,代码如下:

html+css:

   1: <!DOCTYPE HTML>
   2: <html>
   3:     <head>
   4:         <meta http-equiv="content-type" content="text/html;charset=utf-8">
   5:         <title>Test</title>
   6:     <style type="text/css">
   7:       .div1{
   8:         height: 300px;
   9:         width: 400px;
  10:         margin:0 auto;
  11:         border: 1px solid black;
  12:       }
  13:       .div2,.div3{
  14:         margin:10px;
  15:       }
  16:       .div2{
  17:         width: 200px;
  18:         height: 100px;
  19:         border: 1px solid blue;
  20:       }
  21:       .div3{
  22:         border: 1px dashed red;
  23:         width: 200px;
  24:         height: 100px;
  25:         display: none;
  26:       }
  27:     </style>
  28:     </head>
  29:     <body>
  30:     <div class="div1" id="div1">这是div1
  31:       <!-- <span id="showTime"></span> -->
  32:       <div class="div2" id="div2">这是div2</div>
  33:       <div class="div3" id="div3">这是div3
  34:         <button id="closeDiv3">关闭div3</button>
  35:       </div>
  36:     </div>
  37:     </body>
  38: </html>

js:

   1: window.onload =function() {
   2:          //获取div
   3:        var div2 = document.getElementById("div2");
   4:        var div3 = document.getElementById("div3");
   5:        var closeDiv3 = document.getElementById(‘closeDiv3‘);
   6:        /*var showTime = document.getElementById(‘showTime‘);*/
   7:  
   8:        //计时
   9:        var countTime = 6;
  10:        var out;
  11:        function controlTime()
  12:        {
  13:          /*showTime.innerHTML = countTime +"秒后div2隐藏,div3显示";*/
  14:          out = setTimeout(controlTime,1000);
  15:          countTime--;
  16:          if(countTime < 3)
  17:          {
  18:            var countTime1 = countTime+1;
  19:            div2.style.display = "none";
  20:            div3.style.display = "block";
  21:            /*showTime.innerHTML = countTime1 +"秒后div3隐藏,div2显示";*/
  22:            if(countTime1 <= 0)
  23:            {
  24:              div2.style.display = "block";
  25:              div3.style.display = "none";
  26:              countTime = 6;
  27:            }
  28:          }
  29:        }
  30:        controlTime();
  31:        div3.onmouseover = function(){
  32:          window.clearTimeout(out);
  33:          closeDiv3.onclick = function(){
  34:            div2.style.display = "block";
  35:            div3.style.display = "none";
  36:            countTime = 6;
  37:            /*showTime.innerHTML = countTime+"秒后div2隐藏,div3显示";*/
  38:         }
  39:        }
  40:       }

效果截图:

来源:http://www.ido321.com/582.html

时间: 2024-08-08 09:29:17

问题:关于坛友的一个定时重复显示和隐藏div的实现的相关文章

问题:关于坛友的一个js轮播效果的实现

需求:点击向前按钮进行向前翻页,向后按钮进行向后翻页,点击中间蓝色小圆圈可以来回自由切换 我的大概思路:先默认显示一个div  然后在原位置在隐藏一个div   给按钮添加click事件,转到下一个时  显示影藏的div,再把原来的div给隐藏掉 lunbo.html代码: 1: <!DOCTYPE HTML> 2: <html> 3: <head> 4: <meta http-equiv="content-type" content=&quo

问题:关于一个坛友的html布局实现

来源:http://www.ido321.com/888.html 坛友的需求如图 这个跟上次贴友分类菜单的实现类似 html: 1: <body> 2: <div class="test"> 3: <div> 4: <img src="my.jpg" alt="test"> 5: <h3>图片标题</h3> 6: <span><a href="#

由一位坛友的布局想到的定位问题:absolute和relative

坛友的问题和相关代码如下: 看看下面的代码.运行有问题.但是如果我把 style=”position:absolute; top:20px;left:10px改成 style=”float:left;”就正常了,我想不明白为什么? 1: <div class="shayne">逆光国际逆光国际逆光国际</div> 2: <script language="javascript"> 3: //创建一个showhidediv的方法,直

C#多线程 定时重复调用异步线程即System.Threading.Timer类使用小例

1.System.Threading.Timer计时器提供了一种重复调用异步线程的方法..Net BCL中有多个Timer类,如用于Windows应用程序的System.Windows.Forms.Timer类,如可以运行在用户接口线程或工作线程上的System.Timers.Timer类.它们是很不一样的,这里要讲的System.Threading.Timer类是一种定时调用某个异步线程的类.每次计时器到设定的时间,系统就去线程池中开启一个线程运行提供的回调方法. 2.调用这个Timer类的重

java 多线程——一个定时调度的例子

java 多线程目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 学习了一段时间的多线程内容,项目中有个定时调度的需求,将之前的需求重新梳理了下,写了一个多线程调用的例子,加深学习. 定时调度的需求如下:设定任务的开始时间,分为单次调度和循环调度,访问指定的url. java 多线程--一个定时调度的例子

Key-Value是用一个不可重复的key集合对应可重复的value集合

Key-Value是用一个不可重复的key集合对应可重复的value集合.(典型的例子是字典:通过页码的key值找字的value值). 例子: key1-value1; key2-value2; key3-value3. SortedMap:如果一个Map可以根据key值排序,则称其为SortedMap.(如字典) !!注意数组和集合的区别:数组中只能存简单数据类型.Collection接口和Map接口只能存对象. 1 package TomTexts; 2 3 4 public class T

mysql按顺序生成一个不重复的id

非字母和非0开头按顺序生成一个不重复的id select case when max(id) is null then '10000001' else max(id)+1 end as id from student; 字母开头按顺序生成一个不重复的id select case when max(id) is null then 'S10000001' else CONCAT('S',SUBSTRING(max(id),2)+1) end as id from student; 原文地址:htt

Discuz tag 标签重复显示的解决方法

最近论坛遇到个问题,Discuz tag标签出了问题,编辑一次就添加一个标签,如下图:<ignore_js_op> 删都删不掉,看着真TM不爽,于是,想到了解决办法,如下:Discuz帖子下方的tag标签重复显示,表现为相同的tag标签多次显示,帖子编辑次数越多,tag重复的次数越多.Discuz!官方直到Discuz X3.2也没有解决tag重复的问题.要解决Discuz标签重复,可以通过修改source\module\forum\forum_viewthread.php来实现.用notep

Android Toast 重复显示问题

做程序员的,基本一看api就知道,用这个可以取消上一个toast的显示,然后显示下一个,这样就能解决出现的问题.可是在测试的过程中,发现却没有想象中的那么简单,不信可以百度一下,很多很多人发现toast的cancel()方法不起作用.还是不讲具体过程,只讲结果吧. 我把toast做成了一个应用类,方便使用,大家可以直接用: [java] view plaincopy public class ToastUtil { private static Handler handler = new Han