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

JS动画效果

vivian Web前端工程师
难度初级
时长 2小时 8分
学习人数
综合评分9.60
537人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰
自己去网上搜了一下好像有一样的源码,整理了一下供大家参考!
http://pan.baidu.com/s/1qYBZpkK
对象这块不是很理解。
没有源码,差评~
function getStyle(obj,attr){
if(obj.currentStyle){return obj.currentStyle[attr];}
}else{
return getComputedStyle(obj,false)[attr];
}

最赞回答 / qq_秋_
this就是指你当前选择到的东西,可以看你前一行选择到了什么,这个this就是什么了,所以第二个第三个this都是指i

最新回答 / Anll
function startMove(){    clearInterval(timer);    var oDiv=document.getElementById("div1");    timer=setInterval(function(){        if (oDiv.offsetLeft == 0) {            clearInterval(timer);        } else {            oDiv.style.left = oDiv.offsetLeft +...
总感觉缩减为一个参数后代码的可读性降低了

已采纳回答 / 风随依然
首先,尽量不要用onmousemove去实验,而是用onmouseover.其次,odiv1.offsetLef ==0      其中,offsetLef 书写错误,应为offsetLeft.最后,解决方案,在css部分加上body{margin: 0; padding: 0;}    可使计时器生效。

已采纳回答 / 从此浪迹天涯了无牵挂
你试一下把move.js里面的var flag = true;挪动到定时器里面。因为链式调用,如果调用结束第一个, if(icur !== json[attr]){ flag=false; } if(attr=='opacity'){ obj.style.filter='alpha(opacity:'+(icur+speed)+')'; obj.style.opacity = (icur+speed)/100; } else{ obj.style[att...
老师,给您点个赞。 思路清晰,讲的很好
谢谢老师,讲得真棒

已采纳回答 / 風雨纏溪
parseInt是获取整数,而后面的oDiv.style.width是获取的在body下面标签里的格式,之前用oDiv.offsetLeft是直接获取style里的值,但是在style里如果给oDiv加上了边框,那么offsetLeft就不能准确获取left的值了,而是获取left+边框的值,这里的oDiv.style.width不会有这个问题,但是还是很麻烦,因此后来又封装了一个函数,也就是getStyle()函数function getStyle(obj,attr){ if(obj.currentSt...
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消