Javascript 添加数值的JQuery
有人能帮我调试一下吗??? 我真的不知道我的代码有什么问题 我正在尝试将数值添加到另一个数值。。。。但它并没有像我预期的那样工作……相反,它只是将数字作为字符串添加 这是我的演示: (已解决) 下面是js代码:Javascript 添加数值的JQuery,javascript,jquery,css,numbers,Javascript,Jquery,Css,Numbers,有人能帮我调试一下吗??? 我真的不知道我的代码有什么问题 我正在尝试将数值添加到另一个数值。。。。但它并没有像我预期的那样工作……相反,它只是将数字作为字符串添加 这是我的演示: (已解决) 下面是js代码: $(document).ready(function(){ $("#map").click(function(e){ var x = parseInt((e.pageX - this.offsetLeft)) - parseInt("140"); var y = pars
$(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"));
});
});
请告诉我有什么问题…不是吗
var x = parseInt((e.pageX - $(this).offset().left)) - parseInt("140");
var y = parseInt((e.pageY - $(this).offset().top)) - parseInt("140");
不是吗
var x = parseInt((e.pageX - $(this).offset().left)) - parseInt("140");
var y = parseInt((e.pageY - $(this).offset().top)) - parseInt("140");
在算术运算前后加括号()
$("#map").stop().animate({"backgroundPosition": (x+cx)+" "+(y+cy)},"slow");
否则,添加空格
字符串将强制JS将您的数字连接为字符串
在算术运算周围加上括号()
$("#map").stop().animate({"backgroundPosition": (x+cx)+" "+(y+cy)},"slow");
否则,添加空格
字符串将强制JS将您的数字连接为字符串
在您的
动画-语句的末尾,您将背景位置设置为:
x+cx+" "+y+cy
这被解释为一个字符串,因为四个+
-操作被同等地解释。实际上,您需要包含一个字符串(“”
)。因此,这个表达式的整个结果变成一个字符串,加法不再是加法,而是concat
但是,如果您将数学封装到括号中,那么您应该很好。最后一行是:
$("#map").stop().animate({"backgroundPosition": (x+cx)+" "+(y+cy)},"slow");
(注意x+cx
周围的额外括号)在animate
-语句的末尾,将背景位置设置为:
x+cx+" "+y+cy
这被解释为一个字符串,因为四个+
-操作被同等地解释。实际上,您需要包含一个字符串(“”
)。因此,这个表达式的整个结果变成一个字符串,加法不再是加法,而是concat
但是,如果您将数学封装到括号中,那么您应该很好。最后一行是:
$("#map").stop().animate({"backgroundPosition": (x+cx)+" "+(y+cy)},"slow");
(注意x+cx
周围的额外括号)以下内容适合我:
$("#map").click(function(e){
alert(e.pageX);
alert(this.offsetLeft);
alert(parseInt(e.pageX)-parseInt(this.offsetLeft));
以下是我的作品:
$("#map").click(function(e){
alert(e.pageX);
alert(this.offsetLeft);
alert(parseInt(e.pageX)-parseInt(this.offsetLeft));
你跟在我后面回答了一会儿,但那是因为你的回答过于解释。嗯,我希望有人能更深入地解释一下,我喜欢,+1=]哈哈,谢谢;-)当我还在打字的时候,我看到你的回复突然出现,我很高兴我们的两个答案都有各自的帮助!你跟在我后面回答了一会儿,但那是因为你的回答过于解释。嗯,我希望有人能更深入地解释一下,我喜欢,+1=]哈哈,谢谢;-)当我还在打字的时候,我看到你的回复突然出现,我很高兴我们的两个答案都有各自的帮助!