onfinish слушатели событий в jquery / javascript - PullRequest
0 голосов
/ 07 ноября 2011

Эй, ребята, это фрагмент моего текущего кода.Я хочу знать, как добавить слушатель события «onFinish or Finished» к этому коду.

это функция setStage

    function setStage($section)
    {

    switch($section)
    {
        case "about":
            if (stageSet == true)
            {
                resetStage();
            }
            $("#one").animate({ width: "+=30", height: "+=30"}, 1000);
            $("#two").animate({ width: "+=30", height: "+=30"}, 1000);
            $("#three").animate({ height: "+=30"}, 1000);
            $("#four").animate({ width: "+=30"}, 1000);
            $("#five").animate({ width: "+=30"}, 1000);
            stageSet = true;
            break;
        case "portfolio":
            if (stageSet == true)
            {
                resetStage();
            }
            $("#one").animate({ width: "+=30", height: "+=30"}, 1000);
            $("#two").animate({ width: "+=30", height: "+=30"}, 1000);
            $("#three").animate({ height: "+=30"}, 1000);
            $("#four").animate({ width: "+=30"}, 1000);
            $("#five").animate({ width: "+=30"}, 1000);
            stageSet = true;
            break;
        case "contact":
            if (stageSet == true)
            {
                resetStage();
            };
            $("#one").animate({ width: "+=30", height: "+=30"}, 1000);
            $("#two").animate({ width: "+=30", height: "+=30"}, 1000);
            $("#three").animate({ height: "+=30"}, 1000);
            $("#four").animate({ width: "+=30"}, 1000);
            $("#five").animate({ width: "+=30"}, 1000);
            stageSet = true;
            break;
        case "resume":
            if (stageSet == true)
            {
                resetStage();
            }
            $("#one").animate({ width: "+=30", height: "+=30"}, 1000);
            $("#two").animate({ width: "+=30", height: "+=30"}, 1000);
            $("#three").animate({ height: "+=30"}, 1000);
            $("#four").animate({ width: "+=30"}, 1000);
            $("#five").animate({ width: "+=30"}, 1000);
            stageSet = true;
            break;
        default:
            alert('not a valid section');
            break;
        }
    }

анимации внутри каждого случая будут уникальными, но ятолько что сделал анимацию идентичной на данный момент.Ниже то, что происходит на клике.Что мне нужно сделать, так это применить класс «off» к каждой навигации, что он делает, и затем, когда setStage закончится, мне нужно, чтобы он снял класс

$(".nav-btn").click(function()
{
    var section = $(this).attr("title");
    //turn off pointer for obsessive clickers
    $(".nav-btn").addClass("off");

    onComplete: function(setStage(section)
    {
        $(".nav-btn").removeClass("off");
    });
});

, это, конечно, неРабота.Функция setStage прекрасно работает, и я хочу удалить класс после ее завершения.Я проверил раздел событий API на сайте jquery и не увидел ничего, что было бы достаточно, может быть, я просто не выгляжу достаточно усердно.http://api.jquery.com/category/events/ или, может быть, я смотрю в неправильном разделе все вместе.Какие-нибудь мысли?Заранее благодарю за помощь в моей нобелизме.

1 Ответ

0 голосов
/ 07 ноября 2011
var removeClass = function() {
    $(this).removeClass("off");
}


    function setStage($section)
{

switch($section)
{
    case "about":
    case "portfolio":
    case "resume":    // and so on

        if (stageSet == true)
        {
            resetStage();
        }
        $("#one").animate({ width: "+=30", height: "+=30"}, 1000, removeClass );
        $("#two").animate({ width: "+=30", height: "+=30"}, 1000, removeClass);
        $("#three").animate({ height: "+=30"}, 1000, removeClass);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...