【发布时间】:2012-04-22 07:11:21
【问题描述】:
我有这个代码:
function get_id_from_coords (x, y)
{
x = parseInt(x);
y = parseInt(y);
if (x < 0)
{
x = (x + 6) * 60;
}
else
{
x = (x + 5) * 60;
}
if (y < 0)
{
y = (y + 6) * 60;
}
else
{
y = (y + 5) * 60;
}
$('#planets').children().each(function(){
if ($(this).attr('x') == x) {
if ($(this).attr('y') == y) {
alert (parseInt($(this).attr('id')));
return parseInt($(this).attr('id'));
}
}
});
}
alert(get_id_from_coords(x, y));
但是,从这段代码中,我得到了两个弹出窗口: 首先,从函数内部,我得到了正确的值(比如 63),但是当我提醒返回值时,我只是得到了 undefined。
【问题讨论】:
-
x和y是否在函数外部定义? -
是的,它们在函数内部正常工作
-
我很确定
return没有损坏 -
Icyrock 的解决方案看起来不错 - 您的退货设置不正确。
-
@SnackerSWE,对于
if (y < 0){y = (y + 6) * 60;}else{y = (y + 5) * 60;},考虑将其缩小为y = (y+5+(y<0))*60。 ;)
标签: javascript jquery return