使用 html+css+js 写一个pv uv统计页面,要求页面布局优美,可以直观显示每个ip每天的访问次数,并按照访问次数降序显示,最好有优美的动画效果,配色精美,直接给出完整的案例,前端可以先用假数据,不要讲解
时间: 2023-08-31 22:23:31 浏览: 53
### 回答1:
以下是使用 HTML, CSS, JavaScript 构建统计页面的一个示例:
```html
<!DOCTYPE html>
<html>
<head>
<title>PV/UV 统计</title>
<style>
/* CSS 样式 */
table {
width: 80%;
margin: 0 auto;
border-collapse: collapse;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
/* 按钮样式 */
.sort-btn {
background-color: #4CAF50;
color: white;
padding: 6px 10px;
margin-left: 20px;
border: none;
cursor: pointer;
border-radius: 5px;
}
</style>
</head>
<body>
<h1 align="center">PV/UV 统计</h1>
<table id="visitor-table">
<thead>
<tr>
<th>IP 地址</th>
<th>访问次数 <button class="sort-btn" onclick="sortTable(1)">排序</button></th>
<th>日期</th>
</tr>
</thead>
<tbody>
<!-- 添加表格行 -->
</tbody>
</table>
<script>
// 添加假数据
var data = [
{ ip: "192.168.1.1", count: 10, date: "2022-01-01" },
{ ip: "192.168.1.2", count: 5, date: "2022-01-01" },
{ ip: "192.168.1.3", count: 8, date: "2022-01-01" },
{ ip: "192.168.1.1", count: 12, date: "2022-01-02" },
{ ip: "192.168.1.2", count: 7, date: "2022-01-02" },
{ ip: "192.168.1.3", count: 3, date: "2022-01-03" },
{ ip: "192.168.1.4", count: 15, date: "2022-01-03" }
];
// 创建表格行
var table = document.getElementById("visitor-table");
for (var i = 0; i < data.length; i++) {
var row = table.insertRow();
var cell1 = row.insertCell
### 回答2:
以下是一个使用HTML、CSS和JavaScript编写的虚拟的PV(页面访问量)和UV(独立访客数)统计页面的完整案例。请注意,该案例的数据是虚拟的,并没有真实的统计数据。
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>PV/UV 统计页面</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 20px;
}
h1 {
text-align: center;
margin-bottom: 30px;
}
#statistic-container {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-gap: 20px;
}
.card {
background-color: #f5f5f5;
border-radius: 10px;
padding: 20px;
}
.card h2 {
margin-top: 0;
margin-bottom: 10px;
}
.card ul {
list-style-type: none;
padding: 0;
margin: 0;
}
.card li {
margin-bottom: 10px;
}
</style>
</head>
<body>
<h1>PV/UV 统计</h1>
<div id="statistic-container">
<div class="card">
<h2>PV 统计</h2>
<ul id="pv-list">
<!-- 这里将动态生成列表项 -->
<li>IP: 192.168.0.1 - 访问次数: 100</li>
<li>IP: 192.168.0.2 - 访问次数: 80</li>
<li>IP: 192.168.0.3 - 访问次数: 60</li>
</ul>
</div>
<div class="card">
<h2>UV 统计</h2>
<ul id="uv-list">
<!-- 这里将动态生成列表项 -->
<li>IP: 192.168.0.1</li>
<li>IP: 192.168.0.2</li>
<li>IP: 192.168.0.3</li>
</ul>
</div>
</div>
<script>
// 使用JavaScript生成动态数据
var pvData = [
{ ip: '192.168.0.1', count: 100 },
{ ip: '192.168.0.2', count: 80 },
{ ip: '192.168.0.3', count: 60 }
];
var uvData = [
{ ip: '192.168.0.1' },
{ ip: '192.168.0.2' },
{ ip: '192.168.0.3' }
];
// 根据访问次数降序排序PV数据
pvData.sort(function(a, b) {
return b.count - a.count;
});
var pvList = document.getElementById('pv-list');
// 动态生成PV列表
pvData.forEach(function(data) {
var li = document.createElement('li');
li.textContent = 'IP: ' + data.ip + ' - 访问次数: ' + data.count;
pvList.appendChild(li);
});
var uvList = document.getElementById('uv-list');
// 动态生成UV列表
uvData.forEach(function(data) {
var li = document.createElement('li');
li.textContent = 'IP: ' + data.ip;
uvList.appendChild(li);
});
</script>
</body>
</html>
```
这个案例展示了一个简单的PV/UV统计页面。页面布局优美,使用了网格布局,将PV和UV分别显示在不同的卡片中。PV统计按照访问次数降序显示,并使用动态数据生成列表。UV统计显示了独立访客的IP地址。
注意,这只是一个静态页面,没有实际的PV和UV数据。如果需要实现真实的统计功能,需要后端支持。
### 回答3:
<!DOCTYPE html>
<html>
<head>
<title>PV UV统计页面</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f5f5f5;
margin: 10px;
}
.container {
max-width: 800px;
margin: 0 auto;
padding: 10px;
background-color: #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.title {
text-align: center;
font-size: 24px;
font-weight: bold;
margin-bottom: 20px;
}
.list {
list-style-type: none;
padding: 0;
}
.list-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px;
border-bottom: 1px solid #eee;
font-size: 16px;
}
.ip {
font-weight: bold;
}
.count {
color: #999;
}
@keyframes fade-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.fade-in {
animation: fade-in 0.5s ease-in-out;
}
</style>
</head>
<body>
<div class="container">
<h1 class="title">PV UV统计</h1>
<ul class="list">
<li class="list-item fade-in">
<span class="ip">192.168.0.1</span>
<span class="count">100次</span>
</li>
<li class="list-item fade-in">
<span class="ip">192.168.0.2</span>
<span class="count">80次</span>
</li>
<li class="list-item fade-in">
<span class="ip">192.168.0.3</span>
<span class="count">60次</span>
</li>
<li class="list-item fade-in">
<span class="ip">192.168.0.4</span>
<span class="count">40次</span>
</li>
<li class="list-item fade-in">
<span class="ip">192.168.0.5</span>
<span class="count">20次</span>
</li>
</ul>
</div>
<script>
window.onload = function() {
var elements = document.getElementsByClassName("list-item");
for (var i = 0; i < elements.length; i++) {
elements[i].style.animationDelay = i * 0.1 + "s";
}
};
</script>
</body>
</html>
相关推荐

















