Javascript 超时时设置jquery加载程序(window.setTimeout)
现在,我的jQuery文件中具有以下功能:Javascript 超时时设置jquery加载程序(window.setTimeout),javascript,jquery,image,delay,loader,Javascript,Jquery,Image,Delay,Loader,现在,我的jQuery文件中具有以下功能: var timer; var delay = 1500; // 1,5 second delay after last input $("#qr_data").bind("input", function (e) { window.clearTimeout(timer); timer = window.setTimeout(function(){ // get qr code data var qr_d
var timer;
var delay = 1500; // 1,5 second delay after last input
$("#qr_data").bind("input", function (e) {
window.clearTimeout(timer);
timer = window.setTimeout(function(){
// get qr code data
var qr_data = $('#qr_data').val();
var data = getVCardData(qr_data);
$("#helpqrcode").modal("hide");
}, delay);
});
如你所见,我有一个1,5秒的延迟。我是否可以在1.5秒的时间内显示图像加载程序?在我的HTML中,我有这样一个图像:
<img id="loading" style="display:none; width:200px;" alt="loader" src="recourses/imgs/loader.gif" />
将图像更改为文本,以方便演示
var定时器;
var延迟=1500;//最后一次输入后的1.5秒延迟
$(“#qr_数据”).bind(“输入”,函数(e){
清除超时(计时器);
//当用户停止输入时,在此处显示图像。
$(“#测试”).show();
timer=window.setTimeout(函数(){
//当时间为上次输入后1.5秒时,隐藏图像。
$(“#测试”).hide();
//获取二维码数据
var qr_data=$('#qr_data').val();
控制台日志(qr_数据);
},延误);
});代码>
#测试{
显示:无;
}
键入
您必须显示加载图像,并且当触发更改
事件时,您必须将其隐藏:
$("#qr_data")
.one( 'change', function() {
$('#loading').hide();
// do stuff with the value of qr_data
});
$('#loading').show();
因此,您是舒尔,数据确实发生了更改。。当用户开始输入时,显示图像,然后在超时回调中隐藏图像。@fuyushimoya.show和.hide是什么意思?它们是用于更改jquery对象可见性的jquery函数。和。