为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的向左滚动没有效果呢 T_T

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Dodument</title>

<style>

*{margin: 0; padding: 0; font-size: 12px;}

#box{width: 140px; height: 25px; margin: 50px auto; overflow: hidden;}

#scroller{width: 200%; height: 25px; margin: 0 auto auto 10px; line-height: 25px; white-space: nowrap; }

#scroller div{float: left; margin-left: 10px;}

</style>

</head>

<body>

<div id="box">

<div id="scroller">

<div id="con1">js实现文字向左滚动</div>

<div id="con2"></div>

</div>

</div>

<script>

var area=document.getElementById('scroller'),

con1=document.getElementById('con1'),

con2=document.getElementById('con2');

con2.innerHTML=con1.innerHTML;


function scrollleft() {


if (area.scrollLeft-con2.offsetWidth>=0) {

area.scrollLeft-=con1.offsetWidth;

} else {

area.scrollLeft++;

}

}

var speed=50;

var myScroll=setInterval('scrollleft()',speed);

area.onmousemove=function () {

clearInterval(myScroll);

}

area.onmouseout=function () {

myScroll=setInterval('scrollleft()',speed);

}

</script>

</body>

</html>


正在回答

2 回答

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Dodument</title>

<style>

*{margin: 0; padding: 0; font-size: 12px;}

//为大盒子加上边框,目的是为了让字幕滚动表现的更明显

#box{width: 140px; height: 25px; margin: 50px auto; overflow: hidden; border: 1px solid #333333;}

#scroller{width: 200%; height: 25px; margin: 0 auto auto 10px; line-height: 25px; white-space: nowrap; }

#scroller div{float: left; /*margin-left: 10px;*/}

</style>

</head>

<body>

<div id="box">

//这个<div id="scroller"></div>其实没必要写,是个多余的,只会造成代码的冗余

<div id="scroller">

<div id="con1">js实现文字向左滚动</div>

<div id="con2"></div>

</div>

</div>

<script>

var area=document.getElementById('box'),//这里获取的应该是最大的那个盒子

con1=document.getElementById('con1'),

con2=document.getElementById('con2');

con2.innerHTML=con1.innerHTML;

area.scrollLeft = 0;

function scrollleft() {

//if的判断条件里面,应该是con1的自身宽度

if (area.scrollLeft>=con1.offsetWidth) {

area.scrollLeft = 0;//这个应该是恢复到初始值

} else {

area.scrollLeft++;

}

}

var speed=50;

var myScroll=setInterval(scrollleft,speed);

area.onmousemove=function () {

clearInterval(myScroll);

}

area.onmouseout=function () {

myScroll=setInterval(scrollleft,speed);

}

</script>

</body>

</html>

这是我在你的代码基础上,更改的,你参考一下

0 回复 有任何疑惑可以回复我~

第一点:var area=document.getElementById('scroller'),你的变量获取错了,应该是这个

var area=document.getElementById('box'),

第二点:你的if里面的代码写错了,应该是这个

if (area.scrollLeft>=con1.offsetWidth) {

area.scrollLeft = 0;

} else {

area.scrollLeft++;

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
信息滚动效果制作
  • 参与学习       47750    人
  • 解答问题       321    个

萌妹子带您快速学习滚动效果,掌握无缝滚动和歇间性滚动的制作方法

进入课程

为什么我的向左滚动没有效果呢 T_T

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信