【问题标题】:add callback function to custom function将回调函数添加到自定义函数
【发布时间】:2023-03-30 19:01:01
【问题描述】:

我有这个 html 代码

<div class="weather">
<div id="weather"></div>
</div>

我正在使用此代码隐藏天气,然后以淡入淡出效果显示,但淡入淡出不起作用,那么我怎样才能使天气 div 以淡入淡出效果显示?

    $("#weather").weatherfeed(['SAXX0017']);
    $("select[name='weather']").change(function(){
        var city = $(this).val()
        //alert(city);
        $(".weather").fadeOut(500,function(){
            $(this).children("#weather").empty();
            $("#weather").weatherfeed([city]);
            $(".weather").fadeIn(500);
        });

    });

【问题讨论】:

  • 在调用 .weatherfeed 后需要查看 html
  • 什么是weatherfeed()?当然,淡入淡出必须在完成之后进行,将其放在下一行可能还不够。如果它是异步调用,那么它可能需要比淡入淡出更长的时间,这就是它似乎不起作用的原因。
  • 这是一个连接网站获取所选代码天气的函数
  • 忽略我的回答,阅读不好。 .weatherfeed() 是做什么的?确保它正确返回
  • 请记住,.weatherfeed() 必须立即用 HTML 重新填充元素。 .fadeIn().fadeOut() 不喜欢空元素,而在它之前有一个 .empty() 调用。

标签: jquery callback fadein


【解决方案1】:

根据您的 cmets:连接到远程主机通常是通过异步调用完成的,这意味着当您调用 .fadeIn() 时,您的 #weather 将为空,因此动画将无法正确显示。

确保.weatherfeed() 不是异步调用。如果是,您应该将.fadeIn() 附加到它的回调中。如果不是,请尝试将 .empty() 调用移入其中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-31
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多