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

JS动画效果

vivian Web前端工程师
难度初级
时长 2小时 8分
学习人数
综合评分9.60
537人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰

最新回答 / _莫忘初衷_
getelementsbytagname获取到的是一组tag啊是一个对象集合,【0】是文档中第0个。你要的不是对整个集合操作吧

已采纳回答 / 韩侠
和后来讲解的小bug一样, 先变得宽, 再变的高, 如果宽先达到设定值, 关闭定时器, 就是视频中展示的效果, 停止不继续执行动画, 但是原来是把宽增加200px, 高增加100px, 所以是高先满足条件, 就停止了定时器, 之后宽度再次变化是因为鼠标再次移入, 触发了onmouseover事件, 然后宽度向着目标变化了一次, 之后看高度, 因为已经达到预定值, 就再次关闭计时器, 之后的几秒, 你可以看到当鼠标又再次滑到div上面的时候, 宽度实际上又变化了两三次的(我没有经过代码实际验证, 不过我想应...

已采纳回答 / 尹为者
<!doctype html><html><head><meta charset="utf-8"><title>无标题文档</title></head><body><style>*{    margin:0;    padding:0;        }  div{      width:200px;      height:200px;      background:red;      bord...

最赞回答 / 慕粉3951534
不是没有效果,而是该值为空,可能你并没有用 JS 显式设置过 <...code...>这样设置过,才能取到值。

最赞回答 / 学习可以放飞灵魂
它是对类的当前实例的引用。 你的startMove()上面有没有实例,  类似于startMove(Li,'width',400,function(){})里的 “Li”

已采纳回答 / S01010011
你的意思是为什么不用getAttribute获取CSS样式中的属性值吗?    首先,想要获取外部/嵌入式CSS样式中的属性,getAttribute是做不到的。    getAttribute是用来获取元素上的属性的,比如id、class、用户自定义属性等等。    虽然getAttribute可以获取到内联式CSS样式的属性(返回的是整个字符串,如"color:red;"),但是获取内联式CSS样式有更好的Element.styel.xxx属性(返回的是属性的值,如"red")。    所以获取属性值...

已采纳回答 / S01010011
 odiv[i].onmouseover=function(){          odiv[i].startMove(this,50);          }          odiv[i].onmouseout=function(){              startMove(this,100);              }         }这段代码中odiv[i].startMove(this,50);是错的,改成startMove(this,50);就行了。

最新回答 / PurpleNight
和单一的原理是一样的,只是变成多个元素了 json 对值的使用

已采纳回答 / 一二得三
中括号? 你指的JSON吗? 你是不是想问json属性名是否需要加引号?通常情况下不加引号可以使用,但json作为一种通用性的数据格式,所以必须保持严格性,不然在跨语言开发就会很麻烦,并且不加引号的话,在JS中有时也会造成混乱,所以必须为了保证其严格性,必须要加引号。

已采纳回答 / qq_不净莲华_03851634
这里不是变量,是对象属性,不需要声明;定义成一个对象属性在函数内部就可以通过对象访问;不知道这样对不对

最赞回答 / guoyou
假设-200  》 0的过程,speed = ( iTarget  - oDiv.offsetLeft )/20随着移动的过程,oDiv.offsetLeft 值会越来越大,-200   ...  -100  ..   -50  ..  -20    ...  -10对应的值speed就越来越小,200/20  100/20   50/20  20/20   10/20   5/20很明显,后面的值是0<speed<1的   而且speed越来越小,所以在oDiv.style.left = o...

最赞回答 / 紫金道童
好尴尬,吃了一顿饭回来一看是因为我没加clearInterval(timer);加了之后果然没问题了。自己提的问题还不能删除,干脆自问自答好了

最新回答 / qq_阿凡达_1
视频里好像说随机出现吧,你确定你试过所有数了吗?

最新回答 / 慕粉3951534
每次鼠标移入移出事件都会触发调用 startMove() 函数,每次调用 startMove() 函数,符合条件的情况下,都会执行 setInterval() 函数创建时钟,如果不先 clearInterval() 清除时钟,那么就会造成时钟多次叠加,比如,本来一次时钟每 30 毫秒移动 10px,两次时钟叠加,则会在 30 毫秒内无规律移动两次 10px,多次时钟叠加就更明显。
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消