如何连续减去两个移动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);
});
});
我正在尝试减去两个移动 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);
查看更新 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);
});
});