Передать переменные в предопределенную функцию jQuery - PullRequest
0 голосов
/ 24 декабря 2009

Хорошо, у меня есть:

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 голосов
/ 24 декабря 2009

Поскольку 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;
0 голосов
/ 24 декабря 2009

Я считаю, что это как-то связано с обработкой типов в JavaScript. попробуйте разобрать foo в int. parseInt(foo, 10)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...