如果把函数内的对象换成this,会报错,改成oDIv1就可以

来源:-

迎风向上乀

2017-04-16 21:11

window.onload = function(){
	var oDiv1 = document.getElementById('div1');
	oDiv1.onmouseover = function(){
		startMove(this,{'height':400,'width':600},function(){
			startMove(this,{'opacity':100});
			})
		}
	oDiv1.onmouseout = function(){
		startMove(this,{'opacity':30},function(){
			startMove(this,{'width':400,'height':200});
			})
		}
	}

想知道为什么,在透明度的时候出现了问题,为什么透明度不能用this获得,js代码就和老师的move.js一样,如果有需要的话我可以贴上来。

想不清楚为什么这里不能用this代替oDiv1出现在startMove()函数的第一个参数里

写回答 关注

1回答

  • 慕勒7123956
    2017-04-26 08:49:47

    你的问题应该是this在传递过程中发生了变化

    试一试,在调用startMove之前 

    var that=this;

    然后在startMove中使用that,

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113923 学习 · 1443 问题

查看课程

相似问题