有人可以帮我调试这个吗???
我真的不知道我的代码有什么问题...

我正在尝试将数字值添加到另一个数字值...。但是它没有按我的预期工作……相反,它只是将数字添加为字符串。

这是我的演示:
(已经解决)

这是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/

10-09 17:46