目录
前言:
一,效果图:
菜单栏和分类的优化:
导航栏的优化:
二,代码详情:
insert.html:
index.html:
总结:
一,效果图:
菜单栏和分类的优化:
导航栏的优化:
新增了我的功能,可以实现登录和购物车界面的弹出
增加界面由新的界面变成了主界面弹出:
二,代码详情:
insert.html:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Title</title>
<title>Title</title>
<!-- Jquery JS -->
<script src="../js/jquery-3.3.1.js"></script>
<!-- Bootstrap CSS -->
<link href="../bootstrap-5.0.0-beta3-dist/css/bootstrap.css" rel="stylesheet">
<!-- Bootstrap JS -->
<script src="../bootstrap-5.0.0-beta3-dist/js/bootstrap.js"></script>
</head>
<body class="container">
<form action="">
<div class="mb-3">
<label for="name" class="form-label">商品名称</label>
<input type="text" class="form-control" id="name" placeholder="请输入商品名称">
</div>
<div class="mb-3">
<label for="topic" class="form-label">商品名称</label>
<select id="topic" class="form-select">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</div>
<div class="mb-3">
<label for="price" class="form-label">商品价格:¥<span id="showPrice">123</span></label>
<input type="range" class="form-range" id="price" max="1000" min="1">
</div>
<div class="mb-3">
<label for="stock" class="form-label">商品库存: <span id="showStock">123</span></label>
<input type="range" class="form-range" id="stock" max="100" min="1">
</div>
<div class="mb-3">
<label for="describe" class="form-label">商品描述</label>
<textarea rows="3" class="form-control" id="describe" placeholder="请输入商品描述"></textarea>
</div>
<div class="mb-3 form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="disabled">
<label class="form-check-label" for="disabled">商品是否可用</label>
</div>
<div class="mb-3">
<button type="submit" class="btn btn-outline-primary">提交</button>
<button type="reset" class="btn btn-outline-danger">重置</button>
</div>
</form>
</body>
</html>
index.html:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Title</title>
<!-- Jquery JS -->
<script src="js/jquery-3.3.1.js"></script>
<!-- Bootstrap CSS -->
<link href="bootstrap-5.0.0-beta3-dist/css/bootstrap.css" rel="stylesheet">
<!-- Bootstrap JS -->
<script src="bootstrap-5.0.0-beta3-dist/js/bootstrap.js"></script>
<style>
.carousel-item img {
width: 100%;
height: 350px;
background: no-repeat center / cover;
}
.carousel-caption {
color: white !important;
}
</style>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-primary mb-3">
<div class="container-fluid">
<a class="navbar-brand" href="index.html">
快乐奶茶
</a>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<button class="nav-link btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">
商品添加
</button>
</li>
<li class="nav-item dropdown">
<button class="nav-link dropdown-toggle btn btn-primary" id="navbarDropdown"
data-bs-toggle="dropdown">
我的
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item" data-bs-toggle="offcanvas" href="#loginCanvas">登录</a></li>
<li><a class="dropdown-item" data-bs-toggle="offcanvas" href="#carCanvas">购物车</a></li>
</ul>
</li>
</ul>
</div>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</nav>
<div class="container">
<div id="goodsCarousel" class="carousel carousel-dark slide mb-5" data-bs-ride="carousel" data-bs-interval="2000">
<div class="carousel-indicators">
<button type="button" data-bs-target="#goodsCarousel" data-bs-slide-to="0" class="active"></button>
<button type="button" data-bs-target="#goodsCarousel" data-bs-slide-to="1"></button>
<button type="button" data-bs-target="#goodsCarousel" data-bs-slide-to="2"></button>
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img class="d-block">
<div class="carousel-caption d-none d-md-block">
<h1>欲购从速</h1>
<p>Some representative placeholder content for the third slide.</p>
</div>
</div>
<div class="carousel-item">
<img class="d-block w-100">
<div class="carousel-caption d-none d-md-block">
<h1>欲购从速</h1>
<p>Some representative placeholder content for the third slide.</p>
</div>
</div>
<div class="carousel-item">
<img class="d-block w-100">
<div class="carousel-caption d-none d-md-block">
<h1>欲购从速</h1>
<p>Some representative placeholder content for the third slide.</p>
</div>
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#goodsCarousel" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#goodsCarousel" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
<div class="row">
<div class="col-md-2">
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action active">
The current link item
</a>
<a href="#" class="list-group-item list-group-item-action">A second link item</a>
<a href="#" class="list-group-item list-group-item-action">A third link item</a>
<a href="#" class="list-group-item list-group-item-action">A fourth link item</a>
</div>
</div>
<div class="row col-md-10">
<ul class="nav nav-tabs mb-3" id="myTab">
<li class="nav-item">
<button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home"
type="button">秒杀商品
</button>
</li>
<li class="nav-item">
<button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile"
type="button">热销商品
</button>
</li>
<li class="nav-item">
<button class="nav-link" id="contact-tab" data-bs-toggle="tab" data-bs-target="#contact"
type="button">月度榜单
</button>
</li>
</ul>
<div class="tab-content" id="myTabContent">
<div class="tab-pane fade show active" id="home">
<div class="row">
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary" data-bs-toggle="modal"
data-bs-target="#staticBackdrop">🔍
</button>
<button type="button" class="btn btn-danger" data-bs-toggle="tooltip"
data-bs-placement="top" title="添加购物车">🛒
</button>
<button type="button" class="btn btn-warning" data-bs-toggle="tooltip"
data-bs-placement="top" title="不喜欢该商品">🙅
</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary" data-bs-toggle="modal"
data-bs-target="#staticBackdrop">🔍
</button>
<button type="button" class="btn btn-danger" data-bs-toggle="tooltip"
data-bs-placement="top" title="添加购物车">🛒
</button>
<button type="button" class="btn btn-warning" data-bs-toggle="tooltip"
data-bs-placement="top" title="不喜欢该商品">🙅
</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary" data-bs-toggle="modal"
data-bs-target="#staticBackdrop">🔍
</button>
<button type="button" class="btn btn-danger" data-bs-toggle="tooltip"
data-bs-placement="top" title="添加购物车">🛒
</button>
<button type="button" class="btn btn-warning" data-bs-toggle="tooltip"
data-bs-placement="top" title="不喜欢该商品">🙅
</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary" data-bs-toggle="modal"
data-bs-target="#staticBackdrop">🔍
</button>
<button type="button" class="btn btn-danger" data-bs-toggle="tooltip"
data-bs-placement="top" title="添加购物车">🛒
</button>
<button type="button" class="btn btn-warning" data-bs-toggle="tooltip"
data-bs-placement="top" title="不喜欢该商品">🙅
</button>
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane fade" id="profile">
<div class="row">
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-danger">🛒</button>
<button type="button" class="btn btn-warning">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-danger">🛒</button>
<button type="button" class="btn btn-warning">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-danger">🛒</button>
<button type="button" class="btn btn-warning">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-danger">🛒</button>
<button type="button" class="btn btn-warning">🙅</button>
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane fade" id="contact">
<div class="row">
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-danger">🛒</button>
<button type="button" class="btn btn-warning">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-danger">🛒</button>
<button type="button" class="btn btn-warning">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-danger">🛒</button>
<button type="button" class="btn btn-warning">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">果冻奶茶</h5>
<p class="card-text">Some quick example text</p>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-danger">🛒</button>
<button type="button" class="btn btn-warning">🙅</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="offcanvas offcanvas-start" tabindex="-1" id="loginCanvas">
<div class="offcanvas-header">
<h5 class="offcanvas-title">用户登录</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas"></button>
</div>
<div class="offcanvas-body">
<h1>这里是登录表单</h1>
</div>
</div>
<div class="offcanvas offcanvas-start" tabindex="-1" id="carCanvas">
<div class="offcanvas-header">
<h5 class="offcanvas-title">我的购物车</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas"></button>
</div>
<div class="offcanvas-body">
<h1>这里是购物车</h1>
</div>
</div>
<div class="modal fade" id="staticBackdrop" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="staticBackdropLabel">添加购物车</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">取消</button>
<button type="button" class="btn btn-primary" onclick="addCar()">添加</button>
</div>
</div>
</div>
</div>
<div class="position-fixed bottom-0 end-0 p-3" style="z-index: 11">
<div id="liveToast" class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<strong class="me-auto">天天商城</strong>
<small>刚刚</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
添加购物车成功
</div>
</div>
</div>
<div id="exampleModal" class="modal fade" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">添加商品</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form action="">
<div class="mb-3">
<label for="name" class="form-label">商品名称</label>
<input type="text" class="form-control" id="name" placeholder="请输入商品名称">
</div>
<div class="mb-3">
<label for="topic" class="form-label">商品名称</label>
<select id="topic" class="form-select">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</div>
<div class="mb-3">
<label for="price" class="form-label">商品价格:¥<span id="showPrice">123</span></label>
<input type="range" class="form-range" id="price" max="1000" min="1">
</div>
<div class="mb-3">
<label for="stock" class="form-label">商品库存: <span id="showStock">123</span></label>
<input type="range" class="form-range" id="stock" max="100" min="1">
</div>
<div class="mb-3">
<label for="describe" class="form-label">商品描述</label>
<textarea rows="3" class="form-control" id="describe" placeholder="请输入商品描述"></textarea>
</div>
<div class="mb-3 form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="disabled">
<label class="form-check-label" for="disabled">商品是否可用</label>
</div>
<div class="mb-3">
<button type="submit" class="btn btn-outline-primary">提交</button>
<button type="reset" class="btn btn-outline-danger">重置</button>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">取消</button>
<button type="button" class="btn btn-primary">添加</button>
</div>
</div>
</div>
</div>
<script>
const myModal = new bootstrap.Modal($("#staticBackdrop")[0])
$(() => {
$(".carousel-item img").each((i, e) => {
$(e).css("background-image", "url(images/t" + (i + 1) + ".jpg)")
})
})
function addCar() {
myModal.toggle()
new bootstrap.Toast($("#liveToast")[0]).show()
}
</script>
</body>
</html>