html5用什么来代替 marquee制作滚动字幕呢?

如题,求最正规的方式!!!

由于marquee标签现在用得是越来越少了,所以滚动效果的做法大多也都改用javascript来实现了.H5里面好像没有什么替代marquee的吧。如果有请共享。互相学习。

下面是js实现代码:

body { 
    margin: 0px; 
    font-size: 12px; 
    color: #938C43; 
    line-height: 150%; 
    text-align:center; 

a:link{color: #9D943A;font-size:12px;} 
a:hover{color: #FF3300;font-size:12px;} 
a:visited{color: #9D943A;font-size:12px;} 
a.red:link{color: #ff0000;font-size:12px;} 
a.red:hover{color: #ff0000;font-size:12px;} 
a.red:visited{color: #ff0000;font-size:12px;} 
#marqueeBox{background:#f7f7f7;border:1px solid silver;padding:1px;text-align:center;margin:0 auto;} 
--> 
</style> 
</head> 

<body> 
<h4>滚动新闻</h4> 
<script language="JavaScript" type="text/javascript"> 
var marqueeContent=new Array(); 
marqueeContent[0]="<a href=http://xyq.163.com/news/2006/11/2-2-20061102170913.html target=_blank>用快速取回帐号密码</a>"; 
marqueeContent[1]="<a href=http://ekey.163.com/ target=_blank>网易将军令官方网站</a>"; 
marqueeContent[2]="<a href=http://xyq.163.com/download/wallpaper.htm target=_blank>最新壁纸下载</a>"; 
marqueeContent[3]="<a href=http://xyq.163.com/download/around.htm target=_blank>最新屏保下载</a>"; 
var marqueeInterval=new Array(); 
var marqueeId=0; 
var marqueeDelay=2000; 
var marqueeHeight=20; 
function initMarquee() { 
    var str=marqueeContent[0]; 
    document.write('<div id="marqueeBox" style="overflow:hidden;width:250px;height:'+marqueeHeight+'px" onmouseover="clearInterval(marqueeInterval[0])" onmouseout="marqueeInterval[0]=setInterval(\'startMarquee()\',marqueeDelay)"><div>'+str+'</div></div>'); 
    marqueeId++; 
    marqueeInterval[0]=setInterval("startMarquee()",marqueeDelay); 

function startMarquee() { 
    var str=marqueeContent[marqueeId]; 
    marqueeId++; 
    if(marqueeId>=marqueeContent.length) marqueeId=0; 
    if(document.getElementById("marqueeBox").childNodes.length==1) { 
    var nextLine=document.createElement('DIV'); 
    nextLine.innerHTML=str; 
    document.getElementById("marqueeBox").appendChild(nextLine); 
    } 
    else { 
        document.getElementById("marqueeBox").childNodes[0].innerHTML=str; 
        document.getElementById("marqueeBox").appendChild(document.getElementById("marqueeBox").childNodes[0]); 
        document.getElementById("marqueeBox").scrollTop=0; 
    } 
    clearInterval(marqueeInterval[1]); 
    marqueeInterval[1]=setInterval("scrollMarquee()",20); 

function scrollMarquee() { 
    document.getElementById("marqueeBox").scrollTop++; 
    if(document.getElementById("marqueeBox").scrollTop%marqueeHeight==(marqueeHeight-1)){ 
    clearInterval(marqueeInterval[1]); 
    } 

initMarquee(); 
</script> 

</body>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-07
  html5里面貌似还是用marquee来制作滚动字幕吧,我记得html5里面没有新增滚动字幕的东西追问

额,这个被html5废止了哦。。能用,但是肯定不规范

追答

是吗,那我还真不知道,我只是大概的了解了一下html5,不好意思,没有办法帮你了

追问

jquery里应该有代替的方法

第2个回答  2013-11-12
使用css3,具体查询css3动画
相似回答