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

信息滚动效果制作

难度初级
时长39分
学习人数
综合评分9.63
488人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.5 逻辑清晰
回去再研究研究源代码……
都错选什么!
照着老师的来敲的,可输出函数显示area.scrollTop++一直是0,怎么回事?
那个显示框怎么做的?求源码
老师讲的是思路 代码 当然还能优化很多了 大家理解了滚动的原理就好了嘛 何必计较细节
视频中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>=con1.scrollHeight){
moveB.scrollTop=0;
}else{
moveB.scrollTop+=1;
}
可以用console.log测试box.scrollTop和con.scrollHeight进行验证。
我觉得把添加子结点放在定时器内,让它不断地产生新子结点,达到滚动的目的挺好的。
讲得挺不错的,很好,
在判断scroll.scrollTop = 0事, if的条件是scroll.scrollTop==content.offsetHeight/2 ,为什么这里的offsetHeight除以2, 如果不除以2, 浏览器的效果时候,走完了content里的内容,但是呢,不在循环. 这会scollTop有关系, 当scorllTop滚到顶部,下面没有内容的时候,ScrollTop++是没有用的, 但是这个时候呢scroll.scrollTop!=content.offsetHeigh,就停止了. 为了scrollTop
==offsetHeigh,把offsetHeigh/2就可以无缝滚动了.
这种方式去实现无线滚动有一个缺点就是, 不同的浏览器对scrollTop理解不同,兼容性很差, 效果不好,会跳一下.就是字还没有走完, scrollTop就等于offsetHeight, 就赋值scrollTop为0了,效果不是很理想. 建议用jquery的方法来实现. 里面有解决浏览器兼容性的问题
老师特别喜欢用setTime(), setInterval()这两个循环调用的方法, 他们循环的方式有点不一样的, 这里不做介绍,大家可以去百度. 当代码执行到 setTime(), setInterval()时,会不会马上执行他们中的函数里,不会,js在这里会在这里做下标记,放学后你等着. 继续执行后面的代码,为什么这里没有马上执行setTime()中的方法,因为在写的时候setTime(fun,time),这里写的是fun,不是fun(),写fun()后就是调用函数,会马上调用函数,这里setTime()不允许这样,写fun,就是函数名, 函数名是函数的指针,在time循环后调用这个函数.
这里说下文中的一个地方,有点奇怪, setInterval("fun()",time),为什么这里要给fun()加括号呢, 加引号后, JS会自动的调用eval()方法,然后eval()来执行这个方法fun(). JS定义setInterval(fun,time),这里的fun不是调用函数本身, 是指向函数的指针,然后在隔time时间后找到函数的物理位置并执行它. 或者用代码串的方式setInterval("scroll()",time),记住这里的代码串要加(),加空号是为了让eval()执行它. 不同的写法, 结果是相同的.
说下这里的scrollTop(),滚动条相对于其顶部的偏移, 就是滚动条向上移动,相对div的顶部偏移.当内容刚刚好偏移出这个div的显示区域的时候,这个scollTop就等于div中内容的offsetHeight. 这里要给这个div加上overflow:hidden; 同样的, 也是给他设置scollTop(),让他内容向上滚. 不是它自己滚动. 在不同的浏览器中滚动多少也不一样,比如你设置的是滚动10px, chrome滚动了12px, 火狐滚动了15px,实际的效果有所差别. IE版本没有测试过,不做评论
课程须知
1.您至少具备HTML/CSS基础知识; 2.您至少具备JavaSript基础知识;
老师告诉你能学到什么?
1.学会<marquee>标签及属性,制作简单信息滚动。 2.掌握无缝滚动原理,运用JavaScript实现效果。 3.通过设定定时时间,实现间歇性无缝滚动。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消