首页 > 其他 > 详细

防抖案例实战之仿百度搜索框即时搜索

时间:2019-02-14 11:54:39      阅读:205      评论:0      收藏:0      [点我收藏+]

百度搜索框交互体验是当用户输入完成后一定时间后才发起搜索请求,所以我们设计的input回调应该包含一个定时器,当在规定时间内没有input才能执行处理逻辑(专业术语叫做防抖),规定时间内触发input事件就重置定时器。见下例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title></title>
    <link rel="stylesheet" href="">
</head>
<body>
    <input type="text" name="" id="input">
    <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
    <script type="text/javascript">
        let debounce = (func, wait=500) => {//利用防抖实现
            let timer = null;
            return function(...args) {
                if(timer) clearTimeout(timer)
                timer = setTimeout( () => {
                    func.apply(this,...args)
                },wait)
            }
        }
        $(input[type=text]).on(input,debounce(function(){
            console.log(this.value)
            let value = this.value;
            //$.ajax({})发送请求
        },700))
    </script>
</body>
</html>

 

防抖案例实战之仿百度搜索框即时搜索

原文:https://www.cnblogs.com/gongxiansheng/p/10373712.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!