有人可以帮我调试这个吗???
我真的不知道我的代码有什么问题...
我正在尝试将数字值添加到另一个数字值...。但是它没有按我的预期工作……相反,它只是将数字添加为字符串。
这是我的演示:
(已经解决)
这是js代码:
$(document).ready(function(){
$("#map").click(function(e){
var x = parseInt((e.pageX - this.offsetLeft)) - parseInt("140");
var y = parseInt((e.pageY - this.offsetTop)) - parseInt("140");
var coor = $("#map").css("background-position").split(" ");
var cx = parseInt(coor[0].replace("px",""));
var cy = parseInt(coor[1].replace("px",""));
$("#map").stop().animate({"backgroundPosition": x+cx+" "+y+cy},"slow");
alert("X:"+x+", CX: "+cx+"\n Y:"+y+", CY:"+cy+"\n Background-pos:"+$("#map").css("background-position"));
});
});
请告诉我这是怎么回事...
最佳答案
在算术运算符前后加上括号()
。
$("#map").stop().animate({"backgroundPosition": (x+cx)+" "+(y+cy)},"slow");
否则,添加空格
字符串将强制JS将您的数字连接为字符串。Fiddle example
关于javascript - jQuery加数值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10859179/