要实现类似手机联系人的效果,可以使用JavaScript结合HTML和CSS来完成。以下是一个简单的示例,展示了如何实现一个基本的联系人列表,包括搜索功能和联系人分组。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Phone Contacts</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="contact-app">
<input type="text" id="search" placeholder="Search contacts...">
<div id="contacts"></div>
</div>
<script src="script.js"></script>
</body>
</html>
body {
font-family: Arial, sans-serif;
}
.contact-app {
width: 300px;
margin: 0 auto;
}
#search {
width: 100%;
padding: 10px;
margin-bottom: 10px;
box-sizing: border-box;
}
.contact-item {
padding: 10px;
border-bottom: 1px solid #ddd;
}
.contact-name {
font-weight: bold;
}
.contact-number {
color: #666;
}
const contactsData = [
{ name: 'Alice', number: '123-456-7890' },
{ name: 'Bob', number: '987-654-3210' },
{ name: 'Charlie', number: '555-555-5555' },
// Add more contacts as needed
];
function renderContacts(contacts) {
const contactsContainer = document.getElementById('contacts');
contactsContainer.innerHTML = '';
contacts.forEach(contact => {
const contactItem = document.createElement('div');
contactItem.className = 'contact-item';
contactItem.innerHTML = `
<div class="contact-name">${contact.name}</div>
<div class="contact-number">${contact.number}</div>
`;
contactsContainer.appendChild(contactItem);
});
}
function searchContacts() {
const searchInput = document.getElementById('search').value.toLowerCase();
const filteredContacts = contactsData.filter(contact =>
contact.name.toLowerCase().includes(searchInput) ||
contact.number.includes(searchInput)
);
renderContacts(filteredContacts);
}
document.getElementById('search').addEventListener('input', searchContacts);
// Initial render
renderContacts(contactsData);
contactsData
:包含静态的联系人数据。renderContacts
:根据传入的联系人数组渲染联系人列表。searchContacts
:根据搜索框的输入过滤联系人并重新渲染列表。通过以上步骤,你可以实现一个基本的手机联系人效果,并根据需要进行扩展和优化。
领取专属 10元无门槛券
手把手带您无忧上云