当包装在另一个函数中时,动画不会触发。我已经尝试过这段代码的多种变体。请帮忙

发布于 2024-11-29 11:08:39 字数 287 浏览 0 评论 0原文

这是我正在处理的内容。 http://jsfiddle.net/HHBN8/1/ 我试图在数据时为类设置动画返回为 false,并在数据返回为 true 时隐藏该类。动画代码本身可以正常工作,但是一旦我将其放入函数中,它就不会触发。有几件事,文档必须准备好让动画工作,并且我将动画放在与数据函数相同的函数中,因为我不知道如何访问该函数外部的变量。如果有更简单的方法可以做到这一点,请告诉我。非常感谢您的帮助,请记住,三周前我还不知道课程是什么。

Here is what I'm working with. http://jsfiddle.net/HHBN8/1/ I am trying to animate a class when the data comes back as false, and hide the class when the data comes back as true. The animation code works fine by itself, but as soon as I throw it into the function it won't fire. A couple of things, the document has to be ready for the animation to work, and I'm putting the animation in the same function as the data function because I can't figure out how to access the variable outside that function. If there is an easier way to do this let me know. Thanks so much for your help, and keep in mind 3 weeks ago I didn't know what a class was.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一身软味 2024-12-06 11:08:39

我做了一些更改,例如在另一个方法之外定义 A 方法(*这样您就不必将其绑定到 window.load 事件。

演示位于 http://jsfiddle.net/HHBN8/5/

注意:你没有任何 html ..所以没有什么可以制作动画..我在示例中添加了一些 html..

I made some alterations like defining the A method outside of the other one (*this way you do not have to bind it to the window.load event.

demo at http://jsfiddle.net/HHBN8/5/

note : you do not have any html .. so there is nothing to animate.. I added some html in the example..

红墙和绿瓦 2024-12-06 11:08:39

我想这就是你想要的。看看这个小提琴

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);
    }

    });

});

I think this is what you want. Check out this fiddle

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);
    }

    });

});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文