Анимация не будет запускаться, если она заключена в другую функцию. Я пробовал так много вариантов этого кода. Пожалуйста помоги

Вот с чем я работаю. http://jsfiddle.net/HHBN8/1/ Я пытаюсь анимировать класс, когда данные возвращается как false и скрывает класс, когда данные возвращаются как true. Код анимации отлично работает сам по себе, но как только я добавляю его в функцию, он не срабатывает. Пара вещей: документ должен быть готов для работы анимации, и я помещаю анимацию в ту же функцию, что и функцию данных, потому что не могу понять, как получить доступ к переменной вне этой функции. Если есть более простой способ сделать это, дайте мне знать. Большое спасибо за вашу помощь, и имейте в виду, что 3 недели назад я не знал, что такое класс.


person davis    schedule 12.08.2011    source источник


Ответы (2)


Я внес некоторые изменения, такие как определение метода A вне другого (* таким образом вам не нужно привязывать его к событию window.load.

демо на http://jsfiddle.net/HHBN8/5/

примечание: у вас нет html .. поэтому анимировать нечего.. Я добавил html в пример..

person Gabriele Petrioli    schedule 12.08.2011
comment
Спасибо за помощь. он отлично работает на jsfiddle, но когда я помещаю его в dashcode, он почему-то не работает. Однако image2_template находится в css и html. - person davis; 12.08.2011
comment
ждать! не говоря уже о том, что симулятор по какой-то причине не запускал анимацию, он отлично работал, когда я его развернул. - person davis; 12.08.2011
comment
@ Дэвис, рад, что ты разобрался :) - person Gabriele Petrioli; 12.08.2011

Я думаю, это то, что вы хотите. Посмотрите на эту скрипту.

function getCrossDomainJson(url, callback) {
    $.ajax({
        url: "http://query.yahooapis.com/v1/public/yql?callback=?",
        data: {
            q: 'select * from xml where url="' + url + '"',
            format: "json"
        },
        dataType: "jsonp",
        success: callback
    });
}




function A(MyStatus){

   // alert(MyStatus.someProperty)

    if (MyStatus.someProperty == 'false'){
      function pulsate() {
        $(".image2_template").
          animate({opacity: 0.1}, 1500, 'linear').
          animate({opacity: 1}, 1500, 'linear', pulsate);
      }
      pulsate();
    }else {
        $('.image2_template').animate({
            opacity: 0,
        });
        $('.text3_template').animate({
            opacity: 0,
        });
    }
}


$(document).ready(function(){

    var MyStatus = {};
    getCrossDomainJson("http://xproshowcasex.channel-api.livestream-api.com/2.0/getstream", function(data) {
        // data is in JSON format:
        //alert(data);
        if (data && data.query && data.query.results && data.query.results.channel) {
            MyStatus.someProperty = (data.query.results.channel.isLive)
           //alert(data.query.results.channel.isLive);
            A(MyStatus);
    }

    });

});
person Amin Eshaq    schedule 12.08.2011