用js写一个商铺页面
时间: 2023-07-15 12:15:17 浏览: 83
用Java创建一个市场商铺信息表
好的,我可以提供一个简单的商铺页面示例(包含HTML、CSS和JavaScript),你可以根据自己的需求进行修改和扩展:
HTML代码:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>商铺页面</title>
<link rel="stylesheet" href="styles.css" />
</head>
<body>
<header>
<h1>欢迎来到XXX商铺</h1>
</header>
<main>
<section class="product-list">
<h2>商品列表</h2>
<ul>
<li>
<img
src="https://via.placeholder.com/150"
alt="商品图片"
/>
<p class="product-name">商品A</p>
<p class="product-price">100元</p>
<button class="add-to-cart">加入购物车</button>
</li>
<li>
<img
src="https://via.placeholder.com/150"
alt="商品图片"
/>
<p class="product-name">商品B</p>
<p class="product-price">200元</p>
<button class="add-to-cart">加入购物车</button>
</li>
<!-- 其他商品 -->
</ul>
</section>
<section class="cart">
<h2>购物车</h2>
<ul>
<!-- 购物车内容 -->
</ul>
<p class="total-price">总价:0元</p>
<button class="checkout">结算</button>
</section>
</main>
<script src="app.js"></script>
</body>
</html>
```
CSS代码:
```css
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: Arial, sans-serif;
}
header {
background-color: #333;
color: #fff;
padding: 20px;
text-align: center;
}
.product-list,
.cart {
border: 1px solid #ccc;
margin: 20px;
padding: 20px;
}
.product-list ul,
.cart ul {
list-style: none;
margin: 0;
padding: 0;
}
.product-list li,
.cart li {
display: flex;
align-items: center;
margin-bottom: 10px;
}
.product-list img {
margin-right: 10px;
}
.product-list .product-name {
font-weight: bold;
margin-right: 10px;
}
.cart .total-price {
font-weight: bold;
margin-top: 10px;
}
button {
background-color: #333;
color: #fff;
border: none;
padding: 10px;
cursor: pointer;
}
button:hover {
background-color: #666;
}
```
JavaScript代码:
```js
// 获取商品列表和购物车
const productList = document.querySelector(".product-list");
const cart = document.querySelector(".cart");
// 将商品添加到购物车
function addToCart(product) {
// 创建购物车商品项
const cartItem = document.createElement("li");
cartItem.innerHTML = `
<img src="${product.querySelector("img").src}" alt="${product.querySelector("img").alt}" />
<p class="product-name">${product.querySelector(".product-name").textContent}</p>
<p class="product-price">${product.querySelector(".product-price").textContent}</p>
<button class="remove-from-cart">删除</button>
`;
// 将购物车商品项添加到购物车
cart.querySelector("ul").appendChild(cartItem);
// 更新总价
updateTotalPrice();
}
// 从购物车中删除商品
function removeFromCart(cartItem) {
// 将购物车商品项从购物车中删除
cartItem.remove();
// 更新总价
updateTotalPrice();
}
// 更新购物车总价
function updateTotalPrice() {
const cartItems = cart.querySelectorAll("li");
let totalPrice = 0;
// 计算购物车总价
cartItems.forEach((item) => {
const price = parseInt(item.querySelector(".product-price").textContent);
totalPrice += price;
});
// 更新总价文本
cart.querySelector(".total-price").textContent = `总价:${totalPrice}元`;
}
// 添加商品到购物车按钮的点击事件
productList.addEventListener("click", (event) => {
if (event.target.classList.contains("add-to-cart")) {
const product = event.target.parentNode;
addToCart(product);
}
});
// 从购物车中删除商品按钮的点击事件
cart.addEventListener("click", (event) => {
if (event.target.classList.contains("remove-from-cart")) {
const cartItem = event.target.parentNode;
removeFromCart(cartItem);
}
});
// 结算按钮的点击事件
cart.querySelector(".checkout").addEventListener("click", () => {
alert("结算成功!");
cart.querySelector("ul").innerHTML = "";
updateTotalPrice();
});
```
这是一个简单的商铺页面示例,包含商品列表、购物车和结算功能。当用户点击“加入购物车”按钮时,商品将被添加到购物车中;当用户点击购物车中的“删除”按钮时,商品将被从购物车中删除;当用户点击“结算”按钮时,购物车将被清空并弹出结算成功提示框。你可以根据自己的需求进行修改和扩展。
阅读全文