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

JS动画效果

vivian Web前端工程师
难度初级
时长 2小时 8分
学习人数
综合评分9.60
537人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰
另一种解决精度误差的方法:把数字乘以10的n次幂,换算成整数,再除以10的n次幂,就可以避免精度误差
代码:
Math.formatFloat = function(f, digit) {
var m = Math.pow(10, digit);
return parseInt(f * m, 10) / m;
}
Math.formatFloat(0.1+0.2 , 1);//可得到准确数值

最新回答 / qq_阿凡达_1
视频里好像说随机出现吧,你确定你试过所有数了吗?
照着视频这么写是错的,不能正常执行,我把startMove(lis,'width',400)换成startMove(this,'width',400)这样才能执行
在不考虑低版本浏览器的情况下,这种动画可以用CSS3来实现,因为JS大量操作DOM会降低性能,而一些效果让CSS解释器来分担,可以减轻JS解释器的压力,是优化性能的一个的方法。
但这个教程是教我们实现一个框架,一次编写, 处处使用,所以当然用JS最方便。
看了某些人的评论,我觉得某些人自己不懂就不要瞎嘲讽别人了,这里都是初学者,有什么好喷的。
老师讲的非常好
像我这样的小菜鸟没人告诉我用css能实现我恐怕要等到很久之后才知道了
总显示定时器timer没定义什么鬼啊 有何我一样的么
对吧对吧 对
var alpha = 30;
function startMove(iTarget){
clearInterval(timer);
var oCB = document.getElementById("color_block");
var speed = 0;
if(alpha > iTarget){
speed = -10;
}else{
speed = 10; }

实在是无法理解这段代码。var alpha=30,if(alpha > iTarget),iTarget是30的时候为false,执行else,是100的时候也是false 执行else
啊哈,又逮到一个母猿。
听老师声音好像感冒了。老师注意身体,非常感谢您
这堆if else真乱,看了半天决定写成两个函数

最新回答 / 慕粉3951534
每次鼠标移入移出事件都会触发调用 startMove() 函数,每次调用 startMove() 函数,符合条件的情况下,都会执行 setInterval() 函数创建时钟,如果不先 clearInterval() 清除时钟,那么就会造成时钟多次叠加,比如,本来一次时钟每 30 毫秒移动 10px,两次时钟叠加,则会在 30 毫秒内无规律移动两次 10px,多次时钟叠加就更明显。

已采纳回答 / cccryst
代码第42、43行,alpha单词拼写错误:obj.alpah += speed;obj.style.filter = "alpha(opacity:" + obj.alpah + ");";

最新回答 / weibo_punica___0
第一个else用于区分速度正负,只要达到判断的效果即可alpha==iTarget用于判断是否已经到达目标值,到达即清空计时器,不再运动
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消