昨天为大家分享了一个非常好看的网站主页,那么今天咱们就给这个好看的界面再添加点功能吧
效果图:
添加了一个购物车,点击购物车会在页面走边跳出来
还有商品上面的各种分类
之前写的添加商品需要跳转页面,我们也可以不跳转页面,在界面中添加一个添加商品按钮
点击直接出现添加商品界面
代码如下:
首页:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>首页框架搭建</title>
<script src="js/jquery-3.3.1.js"></script>
<!-- device-width设备宽度 initial-scale缩放比-->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 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 {
height: 350px;
}
</style>
</head>
<body>
<!-- 包含 -->
<jsp:include page="component/top.jsp">
<jsp:param name="type" value="index" />
</jsp:include>
<!-- 容器 -->
<div class="container">
<!-- 轮播图(Carousel) -->
<!-- data-bs-interval="" 多久切换一次图片 -->
<div id="myCarousel" class="carousel slide mb-3"
data-bs-ride="carousel" data-bs-interval="2000">
<div class="carousel-indicators">
<button type="button" data-bs-target="#myCarousel"
data-bs-slide-to="0" class="active"></button>
<button type="button" data-bs-target="#myCarousel"
data-bs-slide-to="1"></button>
<button type="button" data-bs-target="#myCarousel"
data-bs-slide-to="2"></button>
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="images/mn3.jpg" class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>First slide label</h5>
<p>Some representative placeholder content for the first
slide.</p>
</div>
</div>
<div class="carousel-item">
<img src="images/mn4.jpg" class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>First slide label</h5>
<p>Some representative placeholder content for the first
slide.</p>
</div>
</div>
<div class="carousel-item">
<img src="images/mn5.jpg" class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>First slide label</h5>
<p>Some representative placeholder content for the first
slide.</p>
</div>
</div>
</div>
<button class="carousel-control-prev" type="button"
data-bs-target="#myCarousel" data-bs-slide="prev">
<span class="carousel-control-prev-icon"></span>
</button>
<button class="carousel-control-next" type="button"
data-bs-target="#myCarousel" data-bs-slide="next">
<span class="carousel-control-next-icon"></span>
</button>
</div>
<div class="row">
<div class="col-3">
<div class="input-group mb-3">
<label class="input-group-text" for="rows">显示个数</label> <select
class="form-select" id="rows">
<option value="4">4</option>
<option value="8">8</option>
<option value="12">12</option>
</select>
</div>
</div>
<div class="col-3">
<div class="input-group mb-3">
<label class="input-group-text" for="rows">排序规则</label> <select
class="form-select">
<option value="4">根据商品价格</option>
<option value="8">根据商品库存</option>
<option value="12">根据商品销量</option>
</select>
</div>
</div>
<div class="col-3">
<div class="input-group mb-3">
<label class="input-group-text" for="rows">搜索商品</label> <input
type="text" class="form-control">
</div>
</div>
<div class="col-4">
<button type="button" class="btn btn-success mb-2"
data-bs-toggle="modal" data-bs-target="#m">添加商品</button>
</div>
</div>
<!-- 商品网格显示(Card) -->
<div class="row">
<div class="col-md-2">
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action active">
全部 </a> <a href="#" class="list-group-item list-group-item-action">服装</a>
<a href="#" class="list-group-item list-group-item-action">日用品</a>
<a href="#" class="list-group-item list-group-item-action">家店</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>
<%--每一行占4个商品 每个card 占用三个格子 --%>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top">
<div class="card-body">
<h5 class="card-title">奶茶</h5>
<p class="card-text">杨枝甘露</p>
<div class="btn-group" role="group">
<button type="button" class="btn btn-primary">🔍</button>
<button data-bs-toggle="modal" data-bs-target="#exampleModal"
type="button" class="btn btn-warning">🛒</button>
<button type="button" class="btn btn-danger">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top">
<div class="card-body">
<h5 class="card-title">奶茶</h5>
<p class="card-text">杨枝甘露</p>
<div class="btn-group" role="group">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-warning">🛒</button>
<button type="button" class="btn btn-danger">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top">
<div class="card-body">
<h5 class="card-title">奶茶</h5>
<p class="card-text">杨枝甘露</p>
<div class="btn-group" role="group">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-warning">🛒</button>
<button type="button" class="btn btn-danger">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top">
<div class="card-body">
<h5 class="card-title">奶茶</h5>
<p class="card-text">杨枝甘露</p>
<div class="btn-group" role="group">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-warning">🛒</button>
<button type="button" class="btn btn-danger">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top">
<div class="card-body">
<h5 class="card-title">奶茶</h5>
<p class="card-text">杨枝甘露</p>
<div class="btn-group" role="group">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-warning">🛒</button>
<button type="button" class="btn btn-danger">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top">
<div class="card-body">
<h5 class="card-title">奶茶</h5>
<p class="card-text">杨枝甘露</p>
<div class="btn-group" role="group">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-warning">🛒</button>
<button type="button" class="btn btn-danger">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top">
<div class="card-body">
<h5 class="card-title">奶茶</h5>
<p class="card-text">杨枝甘露</p>
<div class="btn-group" role="group">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-warning">🛒</button>
<button type="button" class="btn btn-danger">🙅</button>
</div>
</div>
</div>
<div class="card col-md-3 mb-2">
<img src="images/default.jpeg" class="card-img-top">
<div class="card-body">
<h5 class="card-title">奶茶</h5>
<p class="card-text">杨枝甘露</p>
<div class="btn-group" role="group">
<button type="button" class="btn btn-primary">🔍</button>
<button type="button" class="btn btn-warning">🛒</button>
<button type="button" class="btn btn-danger">🙅</button>
</div>
</div>
</div>
</div>
<ul class="pagination pagination-lg justify-content-center">
<li class="page-item active" aria-current="page"><span
class="page-link">1</span></li>
<li class="page-item"><a class="page-link" href="#">2</a></li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
</ul>
</div>
</div>
<!-- Offcanvas -->
<div class="offcanvas offcanvas-start" tabindex="-1" id="car">
<div class="offcanvas-header">
<h5 class="offcanvas-title">这是您的购物车</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas"
aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<h1>😊😊😊😊😊</h1>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="m" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="m">商品添加</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"
aria-label="Close"></button>
</div>
<div class="modal-body">
<form action="" class="container">
<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">服装</option>
<option value="2">家具</option>
<option value="3">家电</option>
</select>
</div>
<div class="mb-3">
<label for="price" class="form-label">商品价格:$<span>500</span></label>
<input type="range" min="1" max="1000" value="500"
class="form-range" id="price">
</div>
<div class="mb-3">
<label for="stock" class="form-label">商品库存:<span>250</span>件
</label> <input type="range" min="1" max="500" value="250"
class="form-range" id="stock">
</div>
<div class="mb-3">
<label for="cover" class="form-label">商品的封面</label> <input
type="file" class="form-control" id="cover">
</div>
<div class="mb-3">
<label for="describe" class="form-label">商品描述</label>
<textarea class="form-control" id="describe" rows="3"></textarea>
</div>
<div class="form-check form-switch mb-3">
<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-primary">增加</button>
<button type="reset" class="btn btn-danger">重置</button>
</div>
</form>
<script type="text/javascript">
$("#price,#stock").mousemove(function() {
$(this).parent().find("span").text($(this).val())
})
</script>
</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>
<!-- Modal -->
<div class="modal fade" data-bs-backdrop="static"
data-bs-keyboard="false" id="exampleModal" 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">
<div class="input-group mb-3">
<span class="input-group-text">数量</span> <input type="number"
class="form-control" placeholder="请输入添加的个数">
</div>
</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">
<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>
<script type="text/javascript">
let myModal = new bootstrap.Modal($("#exampleModal")[0])
function addCar() {
//调用模态框的隐藏方法
myModal.toggle()
new bootstrap.Toast($("#liveToast")[0]).show()
}
</script>
</body>
</html>
导航栏
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%--导航栏--%>
<nav class="navbar navbar-dark bg-primary mb-2">
<div class="container-fluid">
<a class="navbar-brand" href="#">
菲菲商城
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#linkText"
aria-controls="navbarText" aria-expanded="false">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="linkText">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link" href="index.jsp" id="index">首页</a>
</li>
<li class="nav-item">
<a class="nav-link" data-bs-toggle="offcanvas" href="#car" id="index">购物车</a>
</li>
<li class="nav-item">
<a class="nav-link" href="insert.jsp" id="insert">增加商品</a>
</li>
</ul>
<script>
$("#<%=request.getParameter("type")%>").addClass("active")
</script>
</div>
</div>
</nav>
</body>
</html>
好咯,下次见,宝们