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

代码运行不了

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Promise animation</title>

<style>

.ball{

width:40px;

            height:40px;

            border-radius: 20px;

            margin-left:0;

}

.ball1{background: red;}

.ball2{background: yellow;}

.ball3{background: green;}

</style>


</head>

<body>

<div class="ball ball1"></div>

<div class="ball ball2"></div>

<div class="ball ball3"></div>

<script>

var ball1=document.querySelector('.ball1');

var ball2=document.querySelector('.ball2');

var ball3=document.querySelector('.ball3');


function animate(ball,distance,cb){

setTimeout(function(){

var marginLeft=parseInt(ball.style.marginLeft,10);

if(marginLeft===distance){

cb&&cb()

}else{

if(marginLeft<distance){

marginLeft++

}else{

marginLeft--

}

ball.style.marginLeft=marginLeft+'px';

animate(ball,distance,cb);

}

},13)

}




animate(ball1,100,function(){

animate(ball2,200,function(){

animate(ball3,300,function(){

animate(ball3,150,function(){

animate(ball2,150,function(){

animate(ball1,150,function(){


})

})

})

})

})

})

</script>

</html>


正在回答

5 回答

    <div class="ball ball1"></div>
    <div class="ball ball2"></div>
    <div class="ball ball3"></div>

改成:

    <div class="ball ball1" style="margin-left:0;"></div>
    <div class="ball ball2" style="margin-left:0;"></div>
    <div class="ball ball3" style="margin-left:0;"></div>

----------

.ball {
    width: 40px;
    height: 40px;
    border-radius: 20px;
    margin-left: 0px;
}

改成:

.ball {
    width: 40px;
    height: 40px;
    border-radius: 20px;
}


0 回复 有任何疑惑可以回复我~
#1

u5u75 提问者

非常感谢!
2016-10-24 回复 有任何疑惑可以回复我~

你的</body>呢?

0 回复 有任何疑惑可以回复我~

与加载有个毛关系。elment.style.marginLeft 意思仅仅是 取得 该元素的属性 style(如果有), 的 margin-left(如果有)值。去 内联样式表的style属性 FF or Chrome 用的是 window.getComputedStyle(element, null).getPropertyValue('margin-left')

0 回复 有任何疑惑可以回复我~
#1

飘移的鼻毛

我也赞同跟加载应该没得啥子关系,但是确实是出问题了,怎么解决
2016-11-25 回复 有任何疑惑可以回复我~
#2

hey自然 回复 飘移的鼻毛

我不是已经给答复了么???既然用的是style获取元素的margin值,那就用 行内样式呀
2016-11-25 回复 有任何疑惑可以回复我~

应该与加载有关

0 回复 有任何疑惑可以回复我~
#1

u5u75 提问者

为什么我那个写法不行啊
2016-10-24 回复 有任何疑惑可以回复我~
#2

我是大树 回复 u5u75 提问者

放到<style>里的话,应该是所有内容加载完毕之后再应用样式。估计是在<script>之后执行,所以直接被重置了。
2016-10-25 回复 有任何疑惑可以回复我~
#3

我是大树 回复 u5u75 提问者

我的猜测。
2016-10-25 回复 有任何疑惑可以回复我~

跟我一样的情况

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
进击Node.js基础(二)
  • 参与学习       76754    人
  • 解答问题       226    个

本教程带你攻破 Nodejs,让 JavaScript流畅运行在服务器端

进入课程

代码运行不了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信