根据这个页面制作一个js完善功能<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>购物车</title> <link rel="stylesheet" href="style.css"> <script src="script.js"></script> </head> <body> <header> <h1>欢迎来到我们的网站!</h1> <nav> <ul> <li><a href="index.html">首页</a></li> <li><a href="details_page.html">商品</a></li> <li><a href="cart.html">购物车</a></li> <li><a href="login.html">登录</a></li> </ul> </nav> </header> <main> <h2>购物车</h2> <ul> <li> <img src="product1.jpg" alt="商品1"> <p>商品1</p> <p>价格:100元</p> <form> <label for="quantity1">数量:</label> <input type="number" id="quantity1" min="1" value="1"> <button type="submit">更新</button> </form> <button class="remove">删除</button> </li> <li> <img src="product2.jpg" alt="商品2"> <p>商品2</p> <p>价格:200元</p> <form> <label for="quantity2">数量:</label> <input type="number" id="quantity2" min="1" value="1"> <button type="submit">更新</button> </form> <button class="remove">删除</button> </li> </ul> <p>总价:300元</p> <button id="checkout">结算</button> </main> <footer> <p>版权所有 © 2021</p> </footer> </body> </html>
时间: 2023-12-03 08:04:23 浏览: 100
这份 HTML 代码已经包含了一个基本的购物车页面的结构和样式,但是还需要一个 JavaScript 文件来添加一些交互和功能。以下是一个示例 JavaScript 文件,你可以在 script.js 文件中添加它:
```
// 获取所需的元素
const quantityInputs = document.querySelectorAll('input[type="number"]');
const updateButtons = document.querySelectorAll('form button[type="submit"]');
const removeButtons = document.querySelectorAll('.remove');
const checkoutButton = document.getElementById('checkout');
const totalPrice = document.querySelector('main p');
// 计算总价
function calculateTotalPrice() {
let total = 0;
quantityInputs.forEach((input, index) => {
const price = input.parentNode.querySelector('p:last-of-type').textContent.slice(3);
total += parseInt(price) * parseInt(input.value);
});
totalPrice.textContent = `总价:${total}元`;
}
// 更新数量
function updateQuantity(event) {
event.preventDefault();
const input = event.target.previousElementSibling;
const price = event.target.parentNode.querySelector('p:last-of-type').textContent.slice(3);
const subtotal = parseInt(price) * parseInt(input.value);
event.target.parentNode.parentNode.querySelector('p:last-of-type').textContent = `小计:${subtotal}元`;
calculateTotalPrice();
}
// 删除商品
function removeItem(event) {
event.target.parentNode.remove();
calculateTotalPrice();
}
// 点击更新按钮时更新数量
updateButtons.forEach(button => {
button.addEventListener('click', updateQuantity);
});
// 点击删除按钮时删除商品
removeButtons.forEach(button => {
button.addEventListener('click', removeItem);
});
// 点击结算按钮时弹出提示框
checkoutButton.addEventListener('click', () => {
alert('结算成功!');
});
```
这段代码包含了三个函数,分别用于更新数量、删除商品和计算总价。还有一些事件监听器,用于监听更新按钮、删除按钮和结算按钮的点击事件。在每个事件监听器中,都会调用对应的函数来实现相应的功能。最后,你需要将这个 JavaScript 文件链接到你的 HTML 文件中,就可以让页面具备交互和功能了。
阅读全文