html+css+js写的多人在线积分系统

可以添加成员,成员名称自定义

可以对各个成员加分减分➕➖

可以删除成员

源码在图片下面,记得点赞加关注❤️❤️❤️

界面

源代码

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>在线积分系统</title>

<style>

body {

font-family: Arial, sans-serif;

background-color: #f8f9fa;

display: flex;

justify-content: center;

align-items: center;

height: 100vh;

margin: 0;

}

.container {

background-color: #fff;

padding: 20px;

border-radius: 10px;

box-shadow: 0 4px 8px rgba(0,0,0,0.1);

width: 80%;

}

table {

width: 100%;

border-collapse: collapse;

margin-top: 20px;

}

th, td {

border: 1px solid #ddd;

padding: 8px;

text-align: left;

}

th {

background-color: #f2f2f2;

}

tr:nth-child(even) {

background-color: #f2f2f2;

}

button {

background-color: #dc3545;

color: white;

border: none;

padding: 5px 10px;

border-radius: 5px;

cursor: pointer;

margin-right: 5px;

}

button:hover {

background-color: #c82333;

}

.add-member {

display: flex;

justify-content: space-between;

margin-bottom: 20px;

}

</style>

</head>

<body>

<div class="container">

<h2>在线积分系统</h2>

<div class="add-member">

<input type="text" id="memberName" placeholder="输入成员名称">

<button οnclick="addMember()">添加成员</button>

</div>

<table>

<thead>

<tr>

<th>成员</th>

<th>分数</th>

<th>操作</th>

</tr>

</thead>

<tbody id="membersTableBody">

</tbody>

</table>

</div>

<script>

const membersTableBody = document.getElementById('membersTableBody');

const memberNameInput = document.getElementById('memberName');

const members = [];

function addMember() {

const memberName = memberNameInput.value.trim();

if (memberName) {

members.push({ name: memberName, score: 0 });

memberNameInput.value = '';

renderMembers();

}

}

function removeMember(memberIndex) {

members.splice(memberIndex, 1);

renderMembers();

}

function adjustScore(memberIndex, delta) {

members[memberIndex].score += delta;

renderMembers();

}

function renderMembers() {

membersTableBody.innerHTML = '';

members.forEach((member, index) => {

const row = `

<tr>

<td>${member.name}</td>

<td>${member.score}</td>

<td>

<button οnclick="adjustScore(${index}, 1)">+1</button>

<button οnclick="adjustScore(${index}, -1)">-1</button>

<button οnclick="removeMember(${index})">删除</button>

</td>

</tr>

`;

membersTableBody.insertAdjacentHTML('beforeend', row);

});

}

// 初始化渲染成员列表

renderMembers();

</script>

</body>

</html>

相关推荐
g***B7382 小时前
JavaScript数据可视化应用
javascript·信息可视化·数据分析
1***Q7842 小时前
React项目
前端·javascript·react.js
幸福专买店2 小时前
【Flutter】flutter 中 包裹内容显示 的设置方式
前端·javascript·flutter
U***49833 小时前
React Native性能分析
javascript·react native·react.js
和和和3 小时前
🗣️面试官: 那些常见的前端面试场景问题
前端·javascript·面试
San303 小时前
ES6+ 新特性解析:让 JavaScript 开发更优雅高效
前端·javascript·ecmascript 6
Heo3 小时前
简单聊聊webpack摇树的原理
前端·javascript·面试
San303 小时前
深入理解 JavaScript 异步编程:从 Ajax 到 Promise
javascript·ajax·promise
xiangxiongfly9154 小时前
CSS svg
前端·css·svg
Watermelo6174 小时前
href 和 src 有什么区别,它们对性能有什么影响?
前端·javascript·vue.js·性能优化·html·html5·用户体验