bootstrap4模仿写一个百度搜索框,增加防抖
时间: 2024-02-15 09:01:18 浏览: 70
bootstrap-select下拉选择搜索框,可以多选和单选
好的,以下是一个使用Bootstrap4和防抖技术的百度搜索框示例代码:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Bootstrap4模仿百度搜索框并增加防抖</title>
<!-- 引入Bootstrap4 -->
<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.3.1/css/bootstrap.min.css">
</head>
<body>
<div class="container mt-5">
<form class="form-inline">
<div class="input-group">
<input type="text" class="form-control" placeholder="请输入关键词" id="search-input">
<div class="input-group-append">
<button type="submit" class="btn btn-primary">搜索</button>
</div>
</div>
</form>
</div>
<!-- 引入jQuery和Bootstrap4的JavaScript -->
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.slim.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<script>
// 防抖函数,使用setTimeout实现
function debounce(func, delay) {
let timer = null;
return function() {
let context = this;
let args = arguments;
clearTimeout(timer);
timer = setTimeout(function() {
func.apply(context, args);
}, delay);
}
}
// 获取输入框和按钮
const searchInput = document.getElementById('search-input');
const searchBtn = document.querySelector('button[type="submit"]');
// 给输入框添加防抖处理函数
searchInput.addEventListener('input', debounce(function() {
console.log(searchInput.value); // 在控制台输出输入框的值
}, 500));
</script>
</body>
</html>
```
解释一下代码:
- 在头部引入了Bootstrap4的CSS样式文件。
- 在body中创建了一个container容器,并在其中创建了一个form表单。
- 在form表单中创建了一个input-group输入框组件,包含了一个输入框和一个按钮。
- 使用form-inline类,让表单变成水平排列。
- 使用mt-5类,给container容器添加了一个上边距。
- 在底部引入了jQuery和Bootstrap4的JavaScript文件。
- 创建了一个防抖函数,用于延迟处理输入框的输入事件。
- 获取输入框和按钮元素,并给输入框添加了防抖处理函数。
- 在防抖处理函数中,将输入框的值输出到控制台,可以自行修改为实际搜索功能。
这样我们就完成了一个使用Bootstrap4和防抖技术的百度搜索框示例。
阅读全文