划过效果--遍历数组对象到页面上(js生成)

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<style type="text/css">
		*{
			margin: 0;
			padding: 0;
		}
		#box{
			height: 50px;
		}
		ul{
			list-style: none;
			/*float: left;*/
			margin-left: 30px;
		}
		li{
			/*float: left;*/
			margin-left: 30px;

		}
		.third li{
			float: none;
		}
	</style>
</head>
<body>
	<div id="boxbig">
		<div id="box">
			
		</div>
	</div>
	<script type="text/javascript">
		let array = new Array;
		let one = 1,one_1=1;
		 var arr = [
		 {"id":28,"text":"公司信息","children":[
	    	{"id":1,"text":"公司文化"},
	     	{"id":2,"text":"招聘计划"},
	    	{"id":6,"text":"公司新闻","children":[
	        	{"id":47,"text":"行业新闻"}]},
	        {"id":11,"text":"内部新闻","children":[
            	{"id":24,"text":"行政信息"},
            	{"id":27,"text":"高层指示"}]},
	        {"id":22,"text":"联系我们"},
	        {"id":26,"text":"产品展示","children":[
                {"id":32,"text":"电力产品"},
                {"id":33,"text":"配件介绍"}]}
          ]}
		];
		// console.log(arr[0].text);
		const but = document.getElementById('box');
		but.innerHTML += '<ul id='+arr[0].id+'>'+arr[0].text+'</ul>'+'<div id="button"></div>';
		const button = document.getElementById('button');
		
		but.onmouseenter = function(){
					button.innerHTML = '<ul id="sub"></ul>';
				const sub = document.getElementById('sub');
				for(let key in arr[0]){
					// console.log(arr[0].children);
					let tt;
					for(let key2 in arr[0].children){
					// console.log(arr[0].children[key2]);

						tt = arr[0].children[key2];
						if(typeof(tt.children)!='object'){
							sub.innerHTML += '<li id='+tt.id+' οnclick="onc(this)">'+tt.text+'</li>';
						}else{
							sub.innerHTML += '<ul class="third" id="'+tt.id+'" οnmοuseenter="onc(this)" οnmοuseleave="ole(this)">'+tt.text+'</ul>';
						}
						
						array.push(tt);
					}

					break;
						}
				
		}

		but.onmouseleave = function(){
			button.innerHTML = '';
			const sub = document.getElementById('sub');
			sub.innerHTML += '';
		}

function onc(data){
		if(data.className=='third'){
				let the=null;
				the = document.getElementById(data.id);
			for (let i = 0; i < array.length; i++) {
				if(data.className=='third'){
				if(typeof(array[i].children)=='object'){
						let ss=null;
						ss = array[i].children;
						for(let key3 in ss){
							// console.log(ss[key3]);
							if(array[i].id==data.id){
								the.innerHTML += '<li id='+ss[key3].id+'>'+ss[key3].text+'</li>';
							}
							
						}                    
					}

				}

			}
			
		}

}

function ole(data){
	the = document.getElementById(data.id).children;
	for(let i=0;i<the.length;i++){
		the[i].innerHTML = "";
	}

}
					
		
	</script>
</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Teng-YJ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值