html通过jquery.js动态生成按钮元素组成折叠菜单

我这里的情况是不使用其他ui组件,自制侧边折叠菜单,菜单按钮需要通过数据库的菜单数据自动生成,这里我选择配合使用jquery.js来制作。
首先是html内容,在html的head标签里引入的js和css文件地址记得修改,自己写的js和css文件要放在最下面引入

<!doctype html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>侧边菜单</title>
		<script src="tools/scripts/jquery.js"></script>
		<script src="tools/scripts/jquery-ui.js"></script>
		<script src="tools/scripts/echarts.min.js" type="text/javascript"></script>
		<script src="tools/scripts/test.js" type="text/javascript"></script>
		<link href="tools/scripts/test.css" rel="stylesheet">
	</head>
	<body>
		<div id="main" class="main001">
			<button id="main_1" class="main_1">展开</button>
		</div>
		<div id="rightmain" class="rightmain">
			
		</div>
	</body>
</html>

css文件,对样式稍加修饰.main_2的样式是为生成的按钮做准备

body {
	padding: 0;
	margin: 0;
	background: url('../imgs/sky1.jpg');
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}
.main001 {
	position: absolute;
	top: 0;
	left: 0;
	width: 15vw;
	height: 100vh;
	background: rgba(55, 55, 55, 0.3);
	font-size: 1.5vh;
	color: white;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	display: block;
	z-index: 2;
	overflow-y: auto;
	overflow-x: hidden;
}

.main_1 {
	position: relative;
	float: left;
	width: 15vw;
	height: 3vh;
	background: none;
	font-size: 1.5vh;
	color: white;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
}

.main_1:hover {
	background: #3264a4;
}

.main_2 {
	position: relative;
	float: left;
	width: 15vw;
	height: 3vh;
	background: rgba(55, 55, 55, 0.6);
	font-size: 1.5vh;
	color: white;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
}

.main_2:hover {
	background: #3264a4;
}

.rightmain {
	position: absolute;
	top: 0;
	left: 15vw;
	width: 85vw;
	height: 100vh;
	background: rgba(255,255,255,1);
	font-size: 1.5vh;
	color: white;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	display: block;
	z-index: 2;
	overflow-y: auto;
	overflow-x: hidden;
}

js文件,这里使用了jquery,主要内容是前两个函数,最后一个是echarts图表,我用来填充页面的,不想要可以删掉。

$(document).ready(function() {
	$("#main_1").click(function() {
		$(".main_2").slideToggle(500);//使用了jquery的滑动效果来展示出折叠的效果,500是指500毫秒
	});
})
$(document).ready(function() {
	for (let i = 0; i < 8; i++) {
		console.log(i + "次")
		var jqDiv = $("#main");//获取要生成在哪个父元素
		var p = $("<button class='main_2' id='newp2'>jquery 按钮直接生成</button>").click(function(){//生成的按钮这里可以直接绑定点击事件
			alert("哈哈哈,我是第" + (Number(i) + 1) + "个")
		});;
		p.appendTo($("#main"));
		$(".main_2").hide();//这里隐藏生成好的按钮
		p.appendTo(jqDiv);
		jqDiv.append(p);
	}
})
//下面的是echarts饼图示例
$(document).ready(function() {
		var chartDom = document.getElementById('rightmain');
		var myChart = echarts.init(chartDom);
		var option;

		option = {
			title: {
				text: 'Referer of a Website',
				subtext: 'Fake Data',
				left: 'center'
			},
			tooltip: {
				trigger: 'item'
			},
			legend: {
				orient: 'vertical',
				left: 'left'
			},
			series: [{
				name: 'Access From',
				type: 'pie',
				radius: '50%',
				data: [{
						value: 1048,
						name: 'Search Engine'
					},
					{
						value: 735,
						name: 'Direct'
					},
					{
						value: 580,
						name: 'Email'
					},
					{
						value: 484,
						name: 'Union Ads'
					},
					{
						value: 300,
						name: 'Video Ads'
					}
				],
				emphasis: {
					itemStyle: {
						shadowBlur: 10,
						shadowOffsetX: 0,
						shadowColor: 'rgba(0, 0, 0, 0.5)'
					}
				}
			}]
		};

		option && myChart.setOption(option);
	})

效果如下

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旭寒ls

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值