javascript - 当 jQuery 前置加载中的 img 时隐藏 div

标签 javascript jquery html grafana

在 jQuery 中,我有一个前置行,它加载从 Grafana 生成的图像。 我有另一个 div,显示“正在加载”文本,因为 Grafana 图像生成和加载大约需要 3 秒。

问题是,如果我在前置行之后立即隐藏该 div,它会立即隐藏自己。

有什么解决办法吗?

$("#t1_temp_act").click(function() {
    console.log("append");
    $("#grafana-image").remove();
    $("termostat1_grafana").hide();
    $(".termostat1_grafana_loading").show();
    $(".termostat1_grafana").prepend("<img id=\"grafana-image\" src=\"http://192.168.1.113:3000/render/dashboard-solo/db/legadademo?orgId=1&from=now-1d&to=now&panelId=3&width=670&height=350&tz=UTC%2B02%3A00\">Nalaganje v teku...</img>");    
    $(".termostat1_grafana").show();
    sleep(3000);
    $(".termostat1_grafana_loading").hide();    
});
<div class="termostat1_grafana_loading" style="text-align: center; width: 100%;"><b>Nalaganje v teku...</b></div>
<div class="termostat1_grafana" style="width:100%;margin-top: 10px;">

最佳答案

由于您本质上是在“猜测”3 秒,所以这不是很科学,并且有更好的方法。

相反,您可以将 .show() 替换为 .fadeIn() 并使用回调:

$(".termostat1_grafana").fadeIn( 10, function() { /* 10 is almost as fast as .show() */
    // animation complete
    $(".termostat1_grafana_loading").hide();
});

关于javascript - 当 jQuery 前置加载中的 img 时隐藏 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45139794/

相关文章:

javascript - 如何使用 jQuery 将行号添加到代码块?

javascript - 最终用户(黑客)如何更改 Jquery 和 HTML 值?

javascript - 显示用户上传的 html 内容 - 安全问题

html - 使 a 标签内路径的未填充部分可点击

JavaScript String.split 在字符串文字上生成数组

javascript - 如何在移动时添加拼图部分阴影

javascript - 如果通过单击 anchor 重定向页面,则停止重定向页面

javascript - 无法专注于 IE 的可编辑链接

javascript - 在哪里存储敏感数据?

javascript - script 标签仅在插入 DOM 后第一次运行