请问老师,这里的对象属性move换成this后代码不能实现,为什么?
来源:6-1 JS和CSS3结合实现动画
weixin_慕沐9050777
2022-12-11 11:42:05
let box1 = document.getElementById('box1');
let btn = document.getElementById('btn');
const move= {
n : 1,
lock : true,
fun :()=>{
btn.onclick = ()=>{
if(move.lock){
move.lock = false;
if(move.n ==1){
box1.style.transition = 'left 2s linear 0s';
box1.style.left = '1000px';
move.n = 2;
}else if (move.n == 2){
box1.style.transition = 'left 2s linear 0s';
box1.style.left = '200px';
move.n = 1;
}
setTimeout(()=>{
move.lock = true;
},2000);
}
}
}
};
move.fun();
1回答
imooc_慕慕
2022-12-11
同学你好,箭头函数中的this指向window,打印参考如下:

代指不了move对象,因此这种写法是不对的。
请按照老师的思路进行学习,学习起来会更容易一些。
祝学习愉快~
相似问题