写一个h5页面带按照时间搜索功能,带分页功能
时间: 2023-12-17 09:04:33 浏览: 120
好的,以下是简单的实现方式:
1. HTML结构
```html
<!--搜索框-->
<input type="text" id="search-input" placeholder="按时间搜索">
<button id="search-btn">搜索</button>
<!--搜索结果-->
<ul id="result-list"></ul>
<!--分页-->
<div id="pagination"></div>
```
2. JavaScript实现
```javascript
// 搜索按钮点击事件
document.getElementById('search-btn').addEventListener('click', function () {
// 获取搜索关键词
const keyword = document.getElementById('search-input').value.trim()
// 发送搜索请求
search(keyword, 1)
})
// 分页点击事件
document.getElementById('pagination').addEventListener('click', function (event) {
// 获取页码
const page = parseInt(event.target.dataset.page)
if (page) {
// 获取搜索关键词
const keyword = document.getElementById('search-input').value.trim()
// 发送搜索请求
search(keyword, page)
}
})
// 搜索函数
function search(keyword, page) {
// 发送 AJAX 请求,获取搜索结果和总页数
// 这里使用了 jQuery 的 AJAX 函数,如果没有引入 jQuery,可以使用其他 AJAX 库
$.ajax({
url: 'search.php',
data: {
keyword: keyword,
page: page
},
success: function (result) {
// 渲染搜索结果
renderResult(result.data)
// 渲染分页
renderPagination(result.totalPages, page)
}
})
}
// 渲染搜索结果
function renderResult(data) {
const list = document.getElementById('result-list')
list.innerHTML = ''
data.forEach(function (item) {
const li = document.createElement('li')
li.textContent = item.title
list.appendChild(li)
})
}
// 渲染分页
function renderPagination(totalPages, currentPage) {
const pagination = document.getElementById('pagination')
pagination.innerHTML = ''
for (let i = 1; i <= totalPages; i++) {
const page = document.createElement('a')
page.textContent = i
page.dataset.page = i
if (i === currentPage) {
page.className = 'active'
}
pagination.appendChild(page)
}
}
```
3. PHP实现搜索接口
```php
<?php
// 获取搜索关键词和页码
$keyword = $_GET['keyword'];
$page = intval($_GET['page']);
// 模拟搜索结果,这里只返回了 10 条数据
$data = array();
for ($i = 0; $i < 10; $i++) {
$data[] = array(
'id' => $i + 1,
'title' => '搜索结果 ' . ($i + 1)
);
}
// 计算总页数,这里假设每页显示 5 条数据
$totalPages = ceil(count($data) / 5);
// 获取当前页的数据
$start = ($page - 1) * 5;
$end = $start + 5;
$data = array_slice($data, $start, 5);
// 返回结果
echo json_encode(array(
'data' => $data,
'totalPages' => $totalPages
));
```
这样,一个带按照时间搜索功能和分页功能的 H5 页面就完成了。需要注意的是,搜索功能和分页功能需要后端支持,这里只是简单地模拟了搜索结果。
阅读全文