将变量传递给预定义的jQuery函数

时间:2009-12-24 17:26:07

标签: jquery function

好的,我有:

function myfunc(foo,bar) {
    $('#div' + foo).hide();
    $('#div' + bar).show();
    return false;
}

然后我有:

function myOtherFunc() {
// define vars foo and bar
    myfunc(foo,bar);
}
var timerId = setInterval(myOtherFunc, 5000); // run myOtherFunc every 5 seconds.

工作正常。但我有:

$('#myLink').click(function(){
// define vars 'foo' and 'bar'
myfunc(foo,bar);
return false;
});

根本不起作用......我做错了什么?

2 个答案:

答案 0 :(得分:0)

我认为它与JavaScript句柄类型转换有关。尝试将foo解析为int。 parseInt(foo, 10)

答案 1 :(得分:0)

由于bb的类型为String,因此foo将是一个字符串,当您执行+运算符时,Javascript会将值1转换为字符串。您只需将其更改为;

var aa = $('.mydiv').attr('id'); // get current div's ID
var bb = aa.substring(6,7); // extract the number of the id, i.e. div1 will return '1'
var foo = bb;
var bar = parseInt(foo) + 1;
相关问题