首页 > 代码库 > HTML JS文字闪烁实现(项目top.htm分析)

HTML JS文字闪烁实现(项目top.htm分析)

 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 <!-- saved from url=(0033)https://192.168.1.2/topframe6.htm --> 3 <HTML><HEAD><TITLE>topframe</TITLE> 4 <META http-equiv=Content-Type content="text/html; charset=utf-8"> 5 <link href="css/base.css" rel="stylesheet" type="text/css"> 6  7 <SCRIPT language=JavaScript> 8 var currentid = "c1"; 9 function openurl2(newid, url1, url2)10 {11     document.getElementById(currentid).className = "";12     document.getElementById(newid).className = "current";13     currentid = newid;14 15     window.parent.document.getElementById("menu").src = url1;16     window.parent.document.getElementById("content").src = url2;17 }18 19 function myrefresh()20 {21     window.parent.frames["topframe"].location.reload();22 }23 setTimeout(myrefresh(),600000);24 25 function blink (err_id) {26     var code = ‘‘;27     var speed = 500;28 29     code += var el = document.getElementById(" + err_id + ");;30     code += el.style.visibility =  + el.style.visibility == "hidden" ? "visible" : "hidden";31     32     var interval=setInterval(code,speed); 33     var desc_id=document.getElementById("desc_err");34     desc_id.onmouseover=function(){clearInterval(interval)} 35     desc_id.onmouseout=function(){interval=setInterval(code,speed)} 36 }37 function stateOnload() {38     blink(desc_err);39 }40 </SCRIPT>41 </HEAD>42 43 <BODY ONLOAD="stateOnload()" style="padding:0px">44 <div id="top">45 <div id="logo"></div>46 <div>47    <div id="list">48      <UL>49        <LI id=c1 class=current>50       <A href="javascript:openurl2(‘c1‘, ‘/View/menu‘, ‘/undefined‘)">查看</A>51        </LI>52        <LI id=c2><A href="javascript:openurl2(‘c2‘, ‘/Manage/menu‘, ‘/undefined‘)">管理</A></LI>53        <LI id=c3><A href="javascript:openurl2(‘c3‘, ‘/Maintain/menu‘, ‘/undefined‘)">维护</A></LI>54      </UL>55    </div>56    {% module Workstate() %}
    //<div id="desc_err"><A href="javascript:openurl2(\‘c1\‘, \‘/View/menu\‘, \‘/View/faultyinfo\‘)">工作故障</A></div>
57 </div>58 </div>59 60 </BODY>61 </HTML>

上述代码说明:

1.function myrefresh():实现定时刷新top.htm页面

window.parent.frames["topframe"].location.reload();

 

2.function blink (err_id):实现字体闪烁

desc_id.onmouseover=function(){clearInterval(interval)}                --鼠标位于字体上时,停止闪烁,以便点击进行超链接

desc_id.onmouseout=function(){interval=setInterval(code,speed)}  --鼠标离开字体上时,继续闪烁

 

3.代码第56行{% module Workstate() %}

实际代码为:<div id="desc_err"><A href="javascript:openurl2(\‘c1\‘, \‘/View/menu\‘, \‘/View/faultyinfo\‘)">工作故障</A></div>

当点击字体之后连接到/View/faultyinfo,通过JS函数function openurl2(newid, url1, url2)将整个页面的几个框架(FRAME)分别进行链接

 

4.setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。

提示:setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。

简单示例:

 

 1 <html> 2 <head> 3 <script type="text/javascript"> 4 var c=0 5 var t 6 function timedCount() 7 { 8 document.getElementById(txt).value=c 9 c=c+110 t=setTimeout("timedCount()",1000)11 }12 </script>13 </head>14 15 <body>16 <form>17 <input type="button" value="开始计时!" onClick="timedCount()">18 <input type="text" id="txt">19 </form>20 <p>请点击上面的按钮。输入框会从 0 开始一直进行计时。</p>21 </body>22 23 </html>

 

 

 

 

 

 

 

5.setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

简单示例:

 1 <html> 2 <body> 3  4 <input type="text" id="clock" size="35" /> 5 <script language=javascript> 6 var int=self.setInterval("clock()",50) 7 function clock() 8   { 9   var t=new Date()10   document.getElementById("clock").value=t11   }12 </script>13 <button onclick="int=window.clearInterval(int)">Stop interval</button>14 15 </body>16 </html>

 

 

PS:

起初实现文字闪烁代码如下:

 1 function blink (elId) { 2     var html = ‘‘; 3     if (document.all) 4         html += ‘var el = document.all.‘ + elId + ‘;‘; 5     else if (document.getElementById) 6         html += ‘var el = document.getElementById("‘ + elId + ‘");‘; 7     html += ‘el.style.visibility = ‘ + ‘el.style.visibility == "hidden" ? "visible" : "hidden"‘; 8     if (document.all || document.getElementById) 9         setInterval(html, 500)10 }

1.document.all是页面内所有元素的一个集合。例如:document.all(0)表示页面内第一个元素

2.document.all可以判断浏览器是否是IE  
  if(document.all){  
    alert("is   IE!");  
  }

3.可以通过给某个元素设置id属性(id=aaaa),然后用document.all.aaaa调用该元素

 

综上:

  当在IE浏览器执行时进入 :if (document.all)

  当在其他浏览器执行时进入:else if (document.getElementById)

这里舍弃document.all,直接使用document.getElementById