延时模糊查询

摘要:
当用户在输入框中输入内容时,搜索结果将自动显示在下面。但我认为,当延迟为1秒时,判断用户是否愿意继续输入或删除,然后使用ajax调用模糊查询。方案1:fn是延迟后要执行的函数,delay是延迟时间1反跳_返回:函数{2vartimer=null;3returnfunction(){4varcontext=this;5varargs=arguments;6clearTimeout;7timer=setTimeout;10};11} 方案2:每次按下键盘时,都会设置一个计时器。如果用户再次按下键盘,将清除最后一个计时器,并设置新的计时器。这样,当最后一个用户没有再次按下键盘时,最后一个计时器将不会被清除并将被执行。

当用户在输入框上输入东西的时候,下面自动显示出搜索结果来。但是我想的是当延迟一秒,判断用户还有没有继续输入或者删除的意愿再进行ajax调用模糊查询。

方案一:

fn为延时后执行的函数,delay为延时时间

 1 debounce_return: function (fn, delay) {
 2         var timer = null;
 3         return function () {
 4             var context = this;
 5             var args = arguments;
 6             clearTimeout(timer);
 7             timer = setTimeout(function () {
 8                 fn.apply(context, args);
 9             }, delay);
10         };
11     }

方案二:

每次按下键盘,就设置一个定时器,如果用户再一次按下键盘,就清除上一次的定时器,并且重新设置一个。这样当最后用户没有再次按下键盘的时候,最后一个定时器不会被清除就会执行。

inputElement.onkeyup = function(){
        var timer = null;
        return function(){
            timer && clearTimeout(timer);
            timer = setTimeout(function(){
                //延时执行的代码
                
            }, delay);
        };
    }

免责声明:文章转载自《延时模糊查询》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇深度学习之Batch归一化科码先锋面试下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

.net中RSA加密解密

1、产生密钥: private static void CreateKey() { using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()) { string public...

移动前端—H5实现图片先压缩再上传

  在做移动端图片上传的时候,用户传的都是手机本地图片,而本地图片一般都相对比较大,拿iphone6来说,平时拍很多图片都是一两M的,如果直接这样上传,那图片就太大了,如果用户用的是移动流量,完全把图片上传显然不是一个好办法。   目前来说,HTML5的各种新API都在移动端的webkit上得到了较好的实现。根据查看caniuse,本demo里使用到的Fi...

三种比较好玩的黑客效果JS代码(摘取)

<html> <head> <title>The Matrix</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/ja...

jquery滚动条加载数据

//滚动条 $(window).scroll(function () { var scrollTop = $(this).scrollTop(); var scrollHeight = $(document).height(); var windowHeight = $(this).height(); var data = $("#n").text();...

centos7中/tmp文件保存天数

不要在/tmp目录下保存文件,该目录会定期清理文件 /tmp默认保存10天 /var/tmp默认保存30天 配置文件:/usr/lib/tmpfiles.d/tmp.conf 默认配置文件:# This file is part of systemd.## systemd is free software; you can redistribute it...

前端用js获取本地文件的内容

这里要写成input的形式 调用upload函数 传递的参数就表示所选的文件<input type="file" onchange="upload(this)" /> //前端读取本地文件的内容 下面代码中的this.result即为获取到的内容 function upload(input) { //支持chrome IE10...