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

信息滚动效果制作

难度初级
时长39分
学习人数
综合评分9.63
488人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.5 逻辑清晰
讲得挺不错的,很好,
在判断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版本没有测试过,不做评论
知识普及:
direction: 滚动方向.
loop: 滚动循环次数.
behavior: 滚动的行为.
scrollamount: 滚动的速度.
老师0.5的速度真的是汗
写代码没反应的建议看下控制台,OK?学编程不看控制台信息是干什么?就这样还能编程?
这老师太喜欢调用方法了,要知道实际项目中很多时候直接写匿名方法。
css的注意的地方也可以提示下,这样我们在写js代码的时候会少走些弯路。
感觉有点乱啊
有个BUG,滚动完一圈之后就没有这个间歇性效果了。。谁能解决吗?

最赞回答 / THMAIL
因为读取的时候是从头读到尾的,js放在head的时候,里面定义的获取的一些属性还没有被读取到,所以js一般最好放在body的最下面。1、window.onload=function(){var con1=document.getElementById("con1");var con2=document.getElementById("con2");var are=document.getElementById("big");                var speed = 50;          ...
课程须知
1.您至少具备HTML/CSS基础知识; 2.您至少具备JavaSript基础知识;
老师告诉你能学到什么?
1.学会<marquee>标签及属性,制作简单信息滚动。 2.掌握无缝滚动原理,运用JavaScript实现效果。 3.通过设定定时时间,实现间歇性无缝滚动。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消