好的,我有:
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;
});
根本不起作用......我做错了什么?
答案 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;