Javascript 在jQuery前置加载img时隐藏div

Javascript 在jQuery前置加载img时隐藏div,javascript,jquery,html,grafana,Javascript,Jquery,Html,Grafana,在jQuery中,我有一个前置行,用于从Grafana加载生成的图像。 我还有一个div显示“正在加载”文本,因为生成和加载Grafana图像大约需要3秒钟 问题是,若我在预结束行之后立即隐藏那个div,它会立即隐藏自己 有什么解决办法吗 $(“#t1#temp_act”)。单击(函数(){ console.log(“append”); $(“#grafana图像”).remove(); $(“termostat1_grafana”).hide(); $(“.termostat1_grafan

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

问题是,若我在预结束行之后立即隐藏那个div,它会立即隐藏自己

有什么解决办法吗

$(“#t1#temp_act”)。单击(函数(){
console.log(“append”);
$(“#grafana图像”).remove();
$(“termostat1_grafana”).hide();
$(“.termostat1_grafana_loading”).show();
美元(“.termostat1_grafana”)。前置(“Nalaganje v teku…”);
$(“.termostat1_grafana”).show();
睡眠(3000);
$(“.termostat1_grafana_loading”).hide();
});
Nalaganje诉teku。。。

在javascript中睡眠不是一个函数。您需要使用
setTimeout
setInterval

setTimeout(function() {
    $(".termostat1_grafana_loading").hide();
},3000);

更多信息

睡眠在javascript中不是一个函数。您需要使用
setTimeout
setInterval

setTimeout(function() {
    $(".termostat1_grafana_loading").hide();
},3000);
更多信息

因为你基本上是在“猜测”3秒钟,这不是很科学,还有更好的方法

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

$(".termostat1_grafana").fadeIn( 10, function() { /* 10 is almost as fast as .show() */
    // animation complete
    $(".termostat1_grafana_loading").hide();
});
因为你基本上是在“猜测”3秒钟,这不是很科学,还有更好的方法

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

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