在JavaScript中实现一个搜索框功能,通常涉及到以下几个步骤:
以下是一个简单的本地搜索框实现示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Search Box Example</title>
<script>
// 防抖函数
function debounce(func, wait) {
let timeout;
return function(...args) {
clearTimeout(timeout);
timeout = setTimeout(() => func.apply(this, args), wait);
};
}
// 搜索处理函数
function search(query) {
const resultsContainer = document.getElementById('results');
resultsContainer.innerHTML = ''; // 清空之前的搜索结果
if (!query) return; // 如果没有输入,则不执行搜索
const data = ['Apple', 'Banana', 'Cherry', 'Date', 'Elderberry']; // 示例数据
const filteredData = data.filter(item => item.toLowerCase().includes(query.toLowerCase()));
filteredData.forEach(item => {
const div = document.createElement('div');
div.textContent = item;
resultsContainer.appendChild(div);
});
}
// 页面加载完成后绑定事件
window.onload = function() {
const searchInput = document.getElementById('search-input');
searchInput.addEventListener('input', debounce(event => {
search(event.target.value);
}, 300));
};
</script>
</head>
<body>
<input type="text" id="search-input" placeholder="Search...">
<div id="results"></div>
</body>
</html>
通过上述步骤和示例代码,你可以实现一个基本的搜索框功能,并根据具体需求进行扩展和优化。
领取专属 10元无门槛券
手把手带您无忧上云