分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码

作者:微光

时间:2026-10-26

浏览:182

本文介绍了两种实现文字首尾相连循环滚动的方法。第一种利用HTML5的marquee标签,代码简洁但仅支持IE浏览器;第二种通过div结合JavaScript脚本实现,兼容Firefox等现代浏览器。核心逻辑在于动态复制内容并重置滚动条位置,确保视觉上的无缝循环。

代码如下:

 
<!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">
<HEAD>
<TITLE>分别用marquee和div+js实现首尾相连循环滚动效果</TITLE>
</HEAD>
<BODY>
marquee实现方案利用marquee标签实现首尾相连的循环滚动效果(该方案仅适用于IE浏览器):<br /><br />
<MARQUEE behavior="scroll" contenteditable="true" onstart="this.firstChild.innerHTML+=this.firstChild.innerHTML;" scrollamount="3" width="100"><SPAN unselectable="on">这里是要滚动的内容</SPAN></MARQUEE>
div+js实现方案<br /><br />使用DIV结合JavaScript实现首尾相连的循环滚动效果(兼容Firefox等浏览器):<br /><br />
<DIV id="scrollobj" style="white-space:nowrap;overflow:hidden;width:500px;"><span>这里是要滚动的内容</span></DIV>
<script language="javascript" type="text/javascript">
<!-- 
function scroll(obj) {
var tmp = (obj.scrollLeft)++;
//当滚动条到达右边顶端时
if (obj.scrollLeft==tmp) obj.innerHTML += obj.innerHTML;
//当滚动条滚动了初始内容的宽度时滚动条回到最左端
if (obj.scrollLeft>=obj.firstChild.offsetWidth) obj.scrollLeft=0;
} 
setInterval("scroll(document.getElementById('scrollobj'))",20);
//--> 
</script>
</BODY>
</HTML>

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章