兼容IE与Firefox的无间断上下及左右循环滚动JS实现
作者:页面旅途时间:2026-10-27 09:49:49浏览:252
本文介绍如何利用JavaScript实现兼容IE和Firefox浏览器的无间断循环滚动效果。通过复制内容块并动态调整scrollTop或scrollLeft属性,解决HTML marquee标签滚动间断的问题。提供上下滚动和左右滚动两种场景的完整代码示例,适用于外贸网站等需要持续展示信息的页面设计。
无间断滚动原理与HTML结构
HTML中的marquee标签虽然能实现内容滚动,但其滚动过程是间断的,在一个滚动周期内会出现空白间隙。若滚动区域较大,这些空白会严重影响页面的美观性。通过运用JavaScript技术,可以有效解决这一问题,实现流畅无间断的滚动效果。
上下循环滚动代码:
以下是实现上下循环滚动的代码示例:
<div id="demo" onmouseover="clearInterval(inter)" onmouseout="inter=setInterval(qswhMarquee,30)" style="overflow:hidden; height:60px">
<div id="demo1">
111111111111111<br>
222222222222222<br>
333333333333333<br>
444444444444444<br>
555555555555555
</div>
<div id="demo2"></div>
</div>
<script>
var t=getid("demo"),t1=getid("demo1"),t2=getid("demo2"),sh=getid("show");
var inter;
t2.innerHTML=t1.innerHTML;
function qswhMarquee(){
if(t2.offsetTop<=t.scrollTop)
t.scrollTop-=t1.offsetHeight;
else
t.scrollTop++;
}
inter=setInterval(qswhMarquee,30);
function getid(id){
return document.getElementById(id);
}
</script> 文字左右循环滚动代码:
左右循环滚动实现与CSS样式
以下是实现文字左右循环滚动的代码示例:
<style type="text/css" media="all">
.d1{
margin:10px auto;
width:200px;
background-color:#CCCCCC;
height:20px;
overflow:hidden;
white-space:nowrap;
}
.d2{
margin:0px auto;
background-color:#FF9933;
}
.div2{
width:auto;
height:20px;
font-size:12px;
}
</style>
<script language="javascript" type="text/javascript">
var s,s2,s3,s4,timer,i=0;
function init(){
s=getid("div1");
s2=getid("div2");
s3=getid("div3");
s4=getid("div4");
s4.innerHTML=s3.innerHTML;
s2.style.width=s.offsetWidth+"px";
s2.style.height=s.offsetHeight+"px";
timer=setInterval(mar,30)
}
function mar(){
//s2.innerHTML=s.scrollLeft;
if(s3.offsetWidth<=s.scrollLeft){
s.scrollLeft-=s3.offsetWidth;
}else{s.scrollLeft++;}
}
function getid(id){
return document.getElementById(id);
}
window.onload=init;
</script>
<div class="d1" id="div1">
<span class="div2" id="div3"> 余志国网站设计工作室提供专业的外贸网站建站服务。</span>
<span id="div4" class="div2"></span>
</div>
<div class="d2" id="div2"></div>作者最新文章
JS监听滚动事件:回到顶部按钮的显示与隐藏逻辑
2026-11-05 16:19:37
JavaScript怎么读写LocalStorage与SessionStorage
2026-11-05 15:40:11
anime.js 与 GSAP 对比:轻量级项目该怎么选择动画库
2026-11-05 11:24:55
flv.js 与 hls.js 在直播场景下的选型对比
2026-11-05 08:18:52
JavaScript能做什么?前端开发中的作用与应用场景解析
2026-11-04 23:17:54
