我正在努力为此得到数学,可能缺少一些简单的东西。它应该吐出来,但我得到了NaN。这是我的代码。
Jquery的
console.log("-----" +$('.images').attr('dis') - $('.images').attr('loc')
);
我意识到我可以将它们放入var中,但这需要在30张图像上运行。
<img style="left: -195px; height: 882px;" class="images" speed-racer="55" src="-------/assets/img/fwman/FeeneyMan_bike.png" loc="300px" dis="-140">
我必须保持HTML隐蔽,这就是为什么我不想分享它..但感谢-2 = p
/ ---------------------------------------------- ---- / 谢谢大家的意见,最终的代码工作正常。
$('.images').each(function () {
speed_racer = $(this).attr('speed-racer');
$(this).css({
left: "+=" + (parseFloat($('.images').attr('dis')) - parseFloat($('.images').attr('loc')) / parseFloat($('.images').attr('dis'))
)
});
答案 0 :(得分:3)
试试这样。请注意额外的( )
console.log("-----" + ($('.images').attr('dis') - $('.images').attr('loc')));
我认为原因是因为你正在为一个数字添加一个字符串,然后你将两者都减去它们。
答案 1 :(得分:2)
您是否尝试使用parseInt()
或parseFloat()
将这些字符串值实际转换为整数?
var value = parseInt($('.images').attr('dis')) - parseInt($('.images').attr('loc'));
console.log("-----" + value);
答案 2 :(得分:1)
使用parseFloat
&amp;括号仔细。
console.log("-----" + (parseFloat($('.images').attr('dis')) - parseFloat($('.images').attr('loc'))));
编辑:
parseFloat&amp; parseInt(由OP询问)的例子:
parseFloat("1.02") = 1.02 //includes decimal
parseInt("1.02") = 1 //ignores digits after decimal point
答案 3 :(得分:1)
因为您的网站上有大约30张图片$('.images').attr('dis')
会有多个结果。所以你必须使用像foreach这样的foreach:
$('.images').each(function(){
console.log(parseFloat($(this).attr('dis')) - parseFloat($(this).attr('loc')));
})
答案 4 :(得分:0)
那些应该是数据属性吗?
console.log("-----" +$('.images').attr('data-dis') - $('.images').attr('data-loc'));