当前位置:编程问答 > JS >

新浪的一个多行文字滚动切换代码

问题:新浪的一个文字滚动切换代码,个人感觉超不错噢,示例中没有使用CSS去美化字体,只是实现了主要的功能,想用的朋友最好自己美化一下,还是不错的。
答案:<HTML>
<HEAD>
<title>多段文字多行逐段单个出现</title>
<script language=JAVAscript>
<!--
// ------ 定义全局变量
  var theNewsNum;
    var theAddNum;
    var totalNum;
    var CurrentPosion=0;
       var theCurrentNews;
       var theCurrentLength;
       var theNewsText;
       var theTargetLink;
       var theCharacterTimeout;
       var theNewsTimeout;
       var theBrowserVersion;
       var theWidgetOne;
       var theWidgetTwo;
       var theSpaceFiller;
       var theLeadString;
       var theNewsState;
       function startTicker()
       {               
// ------ 设置初始数值
          theCharacterTimeout = 50;//字符间隔时间
          theNewsTimeout     = 2000;//新闻间隔时间
          theWidgetOne        =  "_";//新闻前面下标符1
          theWidgetTwo        =  "-";//新闻前面下标符
          theNewsState       = 1;
          //theNewsNum        = document.body.children.incoming.children.NewsNum.innerText;//新闻总条数
     theNewsNum        = document.getElementById("incoming").children.AllNews.children.length;//新闻总条数
     theAddNum        = document.getElementById("incoming").children.AddNews.children.length;//补充条数
     totalNum   =theNewsNum+theAddNum;
     theCurrentNews     = 0;
          theCurrentLength    = 0;
          theLeadString       = " ";
          theSpaceFiller      = " ";
          runTheTicker();
       }
// --- 基础函数
       function runTheTicker()
       {
          if(theNewsState == 1)
          {
            if(CurrentPosion<theNewsNum){ 
          setupNextNews();
            }
      else{
          setupAddNews();
      }
      CurrentPosion++;
      if(CurrentPosion>=totalNum||CurrentPosion>=5) CurrentPosion=0;  //最多条数不超过5条
     }
          if(theCurrentLength != theNewsText.length)
          {
             drawNews();
          }
          else
          {
             closeOutNews();
          }
       }
// --- 跳转下一条新闻
       function setupNextNews()
       {
          theNewsState = 0;
     theCurrentNews = theCurrentNews % theNewsNum;     
          theNewsText = document.getElementById("AllNews").children[theCurrentNews].children.Summary.innerText;
          theTargetLink = document.getElementById("AllNews").children[theCurrentNews].children.NewsLink.innerText;          
          theCurrentLength = 0;
          document.all.hottext.href = theTargetLink;
          theCurrentNews++;
    }
       function setupAddNews()
       {
          theNewsState = 0;
     theCurrentNews = theCurrentNews % theAddNum; 
          theNewsText = document.getElementById("incoming").children.AddNews.children[theCurrentNews].children.Summary.innerText;
          theTargetLink = document.getElementById("incoming").children.AddNews.children[theCurrentNews].children.NewsLink.innerText;          
          theCurrentLength = 0;
          document.all.hottext.href = theTargetLink;
          theCurrentNews++;
    }    
// --- 滚动新闻
       function drawNews()
       {
          var myWidget;       
          if((theCurrentLength % 2) == 1)
          {
             myWidget = theWidgetOne;
          }
          else
          {
             myWidget = theWidgetTwo;
          }
          document.all.hottext.innerHTML = theLeadString + theNewsText.substring(0,theCurrentLength) + myWidget + theSpaceFiller;
          theCurrentLength++;
          setTimeout("runTheTicker()", theCharacterTimeout);
       }
// --- 结束新闻循环
       function closeOutNews()
       {
          document.all.hottext.innerHTML = theLeadString + theNewsText + theSpaceFiller;
          theNewsState = 1;
          setTimeout("runTheTicker()", theNewsTimeout);
       }      
window.onload=startTicker;        
//-->
</script>
</HEAD>
<BODY>
<table>
  <tr><td>
      <div id=visible>最新各地动态:<a href="#" id=hottext target="_blank"></a></div>
  </td></tr>
</table>
<div id=incoming style="DISPLAY: none">
  <div id=AllNews> 
   <div id=1>
      <div id=Summary>最新的源代码资源</div>
      <div id=NewsLink>http://www.zzzyk.com</div> 
    </div>
   <div id=2>
      <div id=Summary>[东方时空]推出纪念罗京逝世专题</div>
      <div id=NewsLink>http://www.cctv.com</div> 
    </div>
   <div id=3>
      <div id=Summary>中国H1N1患者新增15例,防控刻不容缓!</div>
      <div id=NewsLink>http://www.baidu.com</div> 
    </div>
    </div>
  <div id=AddNews> 
 </div>
</div>
</body>
</html>

上一个:鼠标自由拖动文字移动
下一个:CSS使用Filter实现链接文字雾化效果

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,