html,css,js 实现树形菜单栏

 

效果展示:

声明:文字前为图片,引入即可

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>树形菜单</title>
	</head>
	<style>
		.box{
			width: 180px;
			border: 1px solid red;
            padding-left: 10px;
			}
		a{
			font-size: 15px;
			color:aqua;
			text-decoration:none;
			}
		a:hover{
			font-size: 17px;
			color: #999999;
			 }
	</style>
	<body>
		<div class="box">
			<div>
				<a href="javascript:onClick=show('1')"><img src="image/z-1.jpg"/>分类讨论区</a>
			</div>
			<div id="1">
				<img src="image/z-top.gif" /> BBS系统<br>
				<img src="image/z-top.gif">共建水木<br>
				<img src="image/z-top.gif">站务公告栏<br>
				<img src="image/z-top.gif">妆点水木<br>
				<img src="image/z-end.gif">申请版主<br>
			</div>
			
			<div>
				<a href="javascript:onClick=show('2')"><img src="image/z-2.jpg" >社会信息</a>
			</div>
			<div id="2">
				<img src="image/z-top.gif">美容品与饰品代理<br>
				<img src="image/z-top.gif">考研资料市场<br>
				<img src="image/z-top.gif">商海纵横<br>
				<img src="image/z-top.gif">动物保护者<br>
				<img src="image/z-top.gif">动物世界<br>
				<img src="image/z-end.gif">中国风·神州各地<br>
			</div>
			
			<div>
				<a href="javascript:onClick=show('3')"><img src="image/z-3.jpg">休闲娱乐</a>
			</div>
			<div id="3">
				<img src="image/z-top.gif">ASCIIart全国转信<br>
				<img src="image/z-top.gif">七彩水木<br>
				<img src="image/z-top.gif">网友聚会<br>
				<img src="image/z-top.gif">醉品人生<br>
				<img src="image/z-top.gif">花木园艺<br>
				<img src="image/z-end.gif">祝福<br>
			</div>
			
			<div>
				<a href="javascript:onClick=show('4')"><img src="image/z-4.jpg">电脑技术</a>
			</div>
			<div id="4">
				<img src="image/z-top.gif">BBS安装管理<br>
				<img src="image/z-top.gif">CAD技术<br>
				<img src="image/z-top.gif">数字图像设计<br>
				<img src="image/z-top.gif">电脑音乐制作<br>
				<img src="image/z-top.gif">软件加密与解密<br>
				<img src="image/z-end.gif">计算机体系结构<br>
			</div>
		</div>
		<script>
			function show(d1){
				if (document.getElementById(d1).style.display == 'none') {
					document.getElementById(d1).style.display = 'block'; //触动的层如果处于隐藏状态,即显示
				} else {
					document.getElementById(d1).style.display = 'none'; //触动的层如果处于显示状态,即隐藏
				}
			}
		</script>
	</body>
</html>

 

好的,我可以为您提供一些关于实现这些功能的基本思路和代码示例。不过需要注意的是,这只是一个简单的示例,实际的购物网站需要考虑更多的功能和细节,还需要进行更严格的安全性和可靠性测试。 首先,我们需要一个 HTML 页面作为我们的购物网站的基础框架。以下是一个简单的示例 HTML 页面,包括导航栏、商品列表和购物车: ```html <!DOCTYPE html> <html> <head> <title>购物网站</title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="style.css"> <script type="text/javascript" src="script.js"></script> </head> <body> <header> <nav> <ul id="menu"> <li><a href="#">首页</a></li> <li class="submenu"><a href="#">全部商品分类</a> <ul> <li><a href="#">服装</a></li> <li><a href="#">鞋帽</a></li> <li><a href="#">数码</a></li> </ul> </li> <li><a href="#">我的订单</a></li> <li><a href="#">我的购物车</a> <span id="cart-count">(0)</span></li> </ul> </nav> </header> <main> <ul id="product-list"> <li><img src="product1.jpg"><h3>商品1</h3><p>价格:100元</p><button class="add-to-cart">加入购物车</button></li> <li><img src="product2.jpg"><h3>商品2</h3><p>价格:200元</p><button class="add-to-cart">加入购物车</button></li> <li><img src="product3.jpg"><h3>商品3</h3><p>价格:300元</p><button class="add-to-cart">加入购物车</button></li> </ul> </main> <footer> <p>版权所有 © 2021 购物网站</p> </footer> </body> </html> ``` 在这个 HTML 页面中,我们定义了一个导航栏和一个包含商品列表的主要部分。导航栏包含一个树形菜单,可以展开和收起子菜单。购物车部分包含一个当前购物车数量的计数器和一个可以增加和减少数量的按钮。 接下来,我们需要用 CSS 样式表来美化我们的购物网站。以下是一个简单的示例 CSS 样式表: ```css header { background-color: #f2f2f2; padding: 10px; box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1); } nav ul { list-style: none; margin: 0; padding: 0; } nav li { display: inline-block; position: relative; } nav a { display: block; padding: 10px; text-decoration: none; color: #666; } nav ul ul { position: absolute; top: 100%; left: 0; background-color: #fff; box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1); display: none; } nav li:hover > ul { display: block; } #cart-count { background-color: #f00; color: #fff; padding: 2px 5px; border-radius: 50%; margin-left: 5px; } .add-to-cart { background-color: #f00; color: #fff; padding: 5px 10px; border: none; border-radius: 5px; cursor: pointer; margin-top: 10px; } #product-list { list-style: none; margin: 0; padding: 0; } #product-list li { display: inline-block; margin: 10px; padding: 10px; background-color: #f2f2f2; box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1); text-align: center; } #product-list li img { width: 200px; height: 200px; } #product-list li h3 { margin: 10px 0; } #product-list li p { margin: 10px 0; } #product-list li button { display: block; margin: 10px auto 0; } ``` 在这个 CSS 样式表中,我们为导航栏、商品列表和购物车等元素定义了样式。我们使用了一些 CSS 技巧来实现树形菜单和添加购物车的功能。 最后,我们需要使用 JavaScript 来实现购物车的增减和全部商品分类下的二级菜单。以下是一个简单的示例 JavaScript 脚本: ```javascript // 获取所有的子菜单 var submenus = document.querySelectorAll('.submenu > ul'); // 遍历所有子菜单,为每个子菜单添加事件处理程序 for (var i = 0; i < submenus.length; i++) { submenus[i].addEventListener('click', function(event) { event.stopPropagation(); }); } // 获取购物车数量计数器和增减按钮 var countEl = document.getElementById('cart-count'); var addButton = document.querySelectorAll('.add-to-cart'); // 初始化购物车数量为0 var count = 0; // 遍历所有的增减按钮,为每个按钮添加事件处理程序 for (var i = 0; i < addButton.length; i++) { addButton[i].addEventListener('click', function() { count++; countEl.innerText = '(' + count + ')'; }); } ``` 在这个 JavaScript 脚本中,我们先获取了所有的子菜单,并为每个子菜单添加了一个点击事件处理程序,以防止点击子菜单时导航栏关闭。然后,我们获取了购物车数量计数器和增减按钮,并为每个按钮添加了一个点击事件处理程序,以便增加和减少购物车数量。 综上所述,这是一个简单的 HTMLCSS 和 JavaScript 示例,演示了如何实现购物网站的导航栏、商品列表和购物车等基本功能。但是,对于一个实际的购物网站来说,还需要考虑更多的功能和细节,例如用户登录、支付、订单跟踪等等。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值