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

JS动画效果

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

已采纳回答 / 半吊子渔者
emmmmmmmmmm我找到问题出在哪了,但是却不知道为什么。你把if(obj.icur == end)中的obj.去掉就可以了

已采纳回答 / 慕粉0815224883
回调函数 不可用this  可以在前面声明一个 var that=this;将this赋予that。

已采纳回答 / 咳咳九思
从-200到0的第一次运动是:目标值减去元素的left/20 就是(0--200)/20。向目标值移动了10;第二次是(0--190)/20。再次移动了9.5;第三次是(0--180.5)/20.移动了9.025第四次(0--171.475)/20.移动了8.57375;第五次(0--162.901625)/20 .移动8.14508125;。。。。。第N次(0--8.5523424223)/20.结果是0.4332312315,不满一个像素,所以停止只保留前两位小数

已采纳回答 / 请让我安静一会儿
只要没离开指定的元素,就成在mouseover事件;函数就在执行;

已采纳回答 / 花花世界11
应该这样写filter:Alpha(opacity = 30)

已采纳回答 / 丶归途
使用getElementsByTagName来获取‘a’,此时获取的是一个数组对象,包含3个‘a’对象;然后通过数组编号来准确获取其中一个,或者通过循环遍历这个数组来对这3个进行设置。一段程序里面id只能是唯一的,不能有两个相同ID,在这儿你可以把ID改为class,然后用getElementsByClassName来获取对象,之后是一样的。

已采纳回答 / 慕先生5247145
speed = speed < 0 ? Math.ceil(speed) : Math.floor(speed); 这句错了;速度为正时,要往上取整,速度为负时,往下取整,你刚好写反了。你与教程视频里的区别在与,教程中判断时 speed>0,你这判断的是<0,所以语句顺序也要改一下。还有重复了<style type="text/css">,按理说这种写错了软件应该会提醒的。加油~

已采纳回答 / 慕先生5247145
第58行代码错了不是da.style.width=da.offsetLeft+speed+"px"; 时 da.style.left=da.offsetLeft+speed+"px";

已采纳回答 / 一叶秋才
 对的,在调用startMove方法的第二遍的时候this 指代的不是当前这个li标签了 稍微改一下就行 用一个指针存一下:window.onload = function() { var aLi = document.getElementsByTagName('li'); var _this; for(var i = 0; i < aLi.length; i++) { aLi[i].timer = null; aLi[i].onmouseover = function() ...

已采纳回答 / 慕神7088389
因为startMove()开头就有一个clearInterval(obj.timer);fn()放前面先执行,就回调startMove(),然后直接停掉了定时器,然后就没有然后了。

已采纳回答 / 夜莺_47
如果speed是正数的话,向上取整,比如0.5取到1才有意义,毕竟0.5是有速度的而不是0;如果speed是负数的话,向下取整,比如-0.5取到-1,-0.5会进行反向运动从而达到停止条件iTarget == icur,如果为负数向上取整则Math.ceil(-0.5) = -0则达不到iTarget == icur。因此负数要像下取整Math.floor()

已采纳回答 / 慕数据9255373
当你多次触碰时,上一次的定时器timer被 
var timer=null;
重新赋值了(即timer这个定时器的对象找不到了),导致clearInterval(timer),起不了作用。应该将var timer=null;写在函数的外面
首页上一页1234567下一页尾页
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消