增加前端搜索功能

This commit is contained in:
2025-06-06 10:52:56 +08:00
parent 732a8474a8
commit a81aff626e
7 changed files with 2242 additions and 870 deletions
+81
View File
@@ -614,6 +614,87 @@
});
}
// 搜索功能相关代码
layui.use(['layer'], function () {
var layer = layui.layer;
var $ = layui.jquery;
// 搜索功能相关变量
var searchMask = $('#searchMask');
var searchInput = $('#searchInput');
var searchBtn = $('#searchBtn');
var searchIcons = $('#mainSearchIcon, #stickySearchIcon');
// 显示搜索框
function showSearch() {
searchMask.addClass('show');
searchInput.focus();
}
// 隐藏搜索框
function hideSearch() {
searchMask.removeClass('show');
searchInput.val('').blur();
}
// 执行搜索
function doSearch() {
var keyword = searchInput.val().trim();
if (keyword) {
window.location.href = '/search?keyword=' + encodeURIComponent(keyword);
} else {
layer.msg('请输入搜索关键词', { icon: 0 });
}
}
// 事件绑定
function bindEvents() {
// 点击搜索图标显示搜索框
searchIcons.on('click', showSearch);
// 点击蒙版背景隐藏搜索框
searchMask.on('click', function (e) {
if ($(e.target).hasClass('search-mask')) {
hideSearch();
}
});
// 搜索按钮点击事件
searchBtn.on('click', function (e) {
e.preventDefault();
doSearch();
});
// 回车键触发搜索
searchInput.on('keypress', function (e) {
if (e.which === 13) {
e.preventDefault();
doSearch();
}
});
// ESC键关闭搜索框
$(document).on('keydown', function (e) {
if (e.keyCode === 27 && searchMask.hasClass('show')) {
hideSearch();
}
});
// 输入框获得焦点时全选文本
searchInput.on('focus', function () {
this.select();
});
}
// 初始化
function init() {
bindEvents();
}
// 启动
init();
});
// 页面加载完成后执行
document.addEventListener('DOMContentLoaded', function() {
loadWebArticles();