如何连续减去两个移动div的左边?

How to continuously subtract the left of two moving divs?

我正在尝试减去两个移动 div 的 left 值我能够使用 setInterval 连续计算它们的 left 但是当我尝试减去它们的值时它显示错误 NaN

http://jsfiddle.net/mmtdv9ew/2/

HTML

<p id="z"></p><p id="x"></p><p id="y"></p>
<div id="a"></div>
<div id="b"></div>

CSS

#a{
-webkit-animation:mv 10s infinite;
left:250px;
width:100px;
height:100px;
background:green;
position:absolute;
}

#b{
position:absolute;
-webkit-animation:mvs 10s infinite;
z-index:10;
width:100px;
height:100px;
background:red;
}

@-webkit-keyframes mv{
0%{left:100px;}
50%{left:500px;}
100%{left:250px;}
}

@-webkit-keyframes mvs{
0%{left:0;}
50%{left:600px;}
100%{left:0px;}
}

JQuery

setInterval(function(){
var x=$('#a').css('left');
var y=$('#b').css('left');
$('#z').text(x);
 $('#y').text(y);
});
setInterval(function(){
var a=parseInt($('#z').text() , 10);
var b=parseInt($('#x').text() , 10);
var c= a - b ;
$('#x').text(c);
});

打字错误:将 var b=parseInt($('#x').text() , 10);

中的 x 替换为 y

查看更新 Fiddle:http://jsfiddle.net/mmtdv9ew/3/

再次阅读,由于您的代码过于复杂,我可能错过了精确的逻辑错误

简化代码(包装在加载页面元素后执行的函数中):

$(function() {
    setInterval(function(){
        var x = parseInt($('#a').css('left'), 10);
        var y = parseInt($('#b').css('left'), 10);
        var c = x - y ;
        $('#x').text(c);
    });
});