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

信息滚动效果制作

难度初级
时长39分
学习人数
综合评分9.63
488人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.5 逻辑清晰
回去再研究研究源代码……
都错选什么!

已采纳回答 / DLZer
因为onload事件处理函数执行结束之后,其内部定义的属性和方法也就无法再访问了,而且,结尾处的“setTimeout()”方法传入的第一个参数是一句调用方法的代码,而不是一个匿名内部方法。尝试一下,把startMove()和scrollUp()抽取出来,不要在onload事件的处理方法中定义,onload事件处理方法只用来执行“setTimeout("startMove()",2000);”,开启滚动效果。或者,把“scrollUp()”定义为“startMove()”中的匿名内部方法,之后再把star...

最赞回答 / 慕尘roz
零可以被任何数整除,0对iLiHeight取余结果是0,进入if语句,定时器被清除,两秒后重新开始又是这样循环,永远动不了。

已采纳回答 / rainy_li3676598
  time=setInterval("scrollUp()",speed);  area.scrollTop++;我昨天 问过一个搞前端的工程师, 他说setInterval 并不是for循环一样, 不执行完就不会跳出。setInterval  只是在speed的时间内回调scrollUp这个函数, 所以相对机器时间来讲,中间的间隔足够再执行其它语句, 所以你下面的area.scrollTop,基本上会和setInterval("scrollUp()",speed);同时执行, 不同的是:area.sc...

最新回答 / 李小希
<!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><meta http-equiv="Content-Type" content="text/html; charset=utf-...
照着老师的来敲的,可输出函数显示area.scrollTop++一直是0,怎么回事?
那个显示框怎么做的?求源码
老师讲的是思路 代码 当然还能优化很多了 大家理解了滚动的原理就好了嘛 何必计较细节

最新回答 / 鱼鱼鱼iii
我明白了!是因为timeout里面的计时器没有命名,不是timer  试验了一下果然如此
视频中2分35秒讲解错误,setTimeout 里面的 area.scrollTop++,并不能让他不断的加1,只会加1次;
这一课讲的逻辑非常混乱,并且有讲解错误的地方,如setTimeout 里面的 area.scrollTop++,并不是一直加1,而是只加1次,容易造成误导
老师讲的有点复杂。我想这样可以实现的:设一个大的定时器,每个2秒执行一遍小定时器。小定时器里每50毫秒实现moveB.scrollTop+=1; 再执行判断:if(moveB.scrollTop%aheight==0){clearInterval(timer2);}
理论上当li少到可以全部显示在可视界面的话,偏移时的scrollTop永远少于con1.scrollHeight。就达不到老师的判定条件:
if(moveB.scrollTop&gt;=con1.scrollHeight){
moveB.scrollTop=0;
}else{
moveB.scrollTop+=1;
}
可以用console.log测试box.scrollTop和con.scrollHeight进行验证。
我觉得把添加子结点放在定时器内,让它不断地产生新子结点,达到滚动的目的挺好的。
讲得挺不错的,很好,
课程须知
1.您至少具备HTML/CSS基础知识; 2.您至少具备JavaSript基础知识;
老师告诉你能学到什么?
1.学会<marquee>标签及属性,制作简单信息滚动。 2.掌握无缝滚动原理,运用JavaScript实现效果。 3.通过设定定时时间,实现间歇性无缝滚动。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消