Как правильно запустить мою собственную функцию JQuery? - PullRequest
1 голос
/ 06 февраля 2010

У меня есть этот код, который меняет изображение, и дополнительная ссылка с ним.

var imgSwap(pic, link){
    $("#sampleimg")
        .load(function () {   
           $(this).hide();
           $('#indexPic').removeClass('loading');
           $(this).fadeIn(500);
           })
        .error(function () {})
        .attr({src : picArray[5]});
    $("a.frontlink").attr("href", linkArray[0]);
    $('#indexPic').addClass('loading');
}

$("#arcade-button").click(function () { imgSwap(picArray[0], linkArray[0])});

Код работает, когда я запускаю дырку после каждой кнопки, но не когда я пытаюсь вызвать свою собственную функцию и необязательные параметры. Кажется, не могу найти недостаток ... Немного помочь кому-нибудь?

Ответы [ 2 ]

3 голосов
/ 06 февраля 2010

Попробуйте:

function imgSwap(pic, link){
    $("#sampleimg").load(function () {   
        $(this).hide();
        $('#indexPic').removeClass('loading');
        $(this).fadeIn(500);
    }).attr({src: pic});
    $("a.frontlink").attr("href", link);
    $('#indexPic').addClass('loading');
}

вместо

var imgSwap(pic, link){ /* further code */ }

Обратите внимание, что вы называете свои параметры pic и link, но используете picArray[5] и linkArray[0] в теле функции (таким образом, его жестко кодируете).

И я думаю, что вам не нужно предоставлять пустую функцию ошибки, если вы не хотите, чтобы что-то происходило.

0 голосов
/ 06 февраля 2010

Сейчас это переменная, если вы хотите вызывать ее самостоятельно, вам, вероятно, придется вызывать ее, как создание нового объекта, например: new imgSwap(pic,link); Вызов imgSwap (pic, link) по-другому будет относиться к нему. как объект, а не выполнять код внутри.

Или просто измените ее на функцию, как сказал @Felix.

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