div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox

作者:竹影

时间:2026-10-27

浏览:448

本文介绍如何使用div、css和javascript实现兼容Firefox的无缝滚动效果,替代仅支持IE的marquee标签。通过JavaScript控制滚动条位置并复制内容实现循环,结合CSS隐藏溢出,提供完整的HTML、CSS及JS代码示例,确保在Firefox等多浏览器中正常运行。

文章目录

div+css+js实现无缝滚动,兼容Firefox的marquee替代方案

本文介绍如何使用div、css和javascript实现兼容Firefox的无缝滚动效果,替代仅支持IE的marquee标签。



首先,我们来看一种仅支持IE浏览器的marquee实现首尾相连循环滚动效果的方法。


具体代码如下:

 
<marquee behavior="scroll" contenteditable="true" onstart="this.firstChild.innerHTML+=this.firstChild.innerHTML;" scrollamount="3" width="100" onmouseover="this.stop();" onmouseout="this.start();">
这里是要滚动的内容
</marquee>

接下来,我们展示如何使用div、css和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>div+css+javascript 实现无缝滚动,marquee无缝滚动,无缝滚动,兼容firefox</title>
<style type="text/css">
#scrollobj {
white-space: nowrap;
overflow: hidden;
width: 500px;
} 
</style>
</head>
<body>
<div id="scrollobj" onmouseover="javascript:_stop();" onmouseout="javascript:_start();">
这里是要滚动的内容
</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;
} 
/*往上*/
//var tmp = (obj.scrollTop)++;
//if (obj.scrollTop == tmp) {
// obj.innerHTML += obj.innerHTML;
//} 
//if (obj.scrollTop >= obj.firstChild.offsetWidth) {
// obj.scrollTop = 0;
//} 
} 
var _timer = setInterval("scroll(document.getElementById('scrollobj'))", 20);
function _stop() {
if (_timer != null) {
clearInterval(_timer);
} 
} 
function _start() {
_timer = setInterval("_scroll(document.getElementById('scrollobj'))", 20);
} 
//--> 
</script>
</body>
</html>

实用工具推荐

电子包浆

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

使用 ›
图片压缩

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

使用 ›
相关文章