用JS写一个网站树形菜单
先上效果图:

主体内容就是侧边展示的一二三级菜单,树形结构的。
前端页面布局内容,页面内容简单用ul li 来完成所有的罗列项。用先后顺序来区分一级二级三级:
<body>
  <b><img src="data:images/fold.gif">树形菜单:</b>
  <ul><a href="javascript:onclick=show('art') "><img src="data:images/fclose.gif">文学艺术</a></ul>
  <ul id="art" class="no_circle" style="display: block;">
    <li><img src="data:images/doc.gif">先锋写作</li>
    <li> <img src="data:images/doc.gif">小说散文</li>
    <li><img src="data:images/doc.gif">诗风词韵</li>
  </ul>
  <ul><a href="javascript:onclick=show('photo') "><img src="data:images/fclose.gif">贴图专区</a></ul>
  <ul id="photo" class="no_circle" style="display: block;">
    <li><img src="data:images/doc.gif">真我风采</li>
    <li> <img src="data:images/doc.gif">视频贴图</li>
    <li><img src="data:images/doc.gif">行行摄摄</li>
    <li><img src="data:images/doc.gif">Flash贴图</li>
  </ul>
  <ul><a href="javascript:onclick=show('home') "><img src="data:images/fclose.gif">房产论坛</a></ul>
  <ul id="home" class="no_circle" style="display: block;">
    <li><img src="data:images/doc.gif">我要买房</li>
    <li> <img src="data:images/doc.gif">楼市话题</li>
    <li><img src="data:images/doc.gif">我要卖房</li>
    <li><img src="data:images/doc.gif">租房心语</li>
    <li><img src="data:images/doc.gif">二手市场</li>
  </ul>
  <ul><a href="javascript:onclick=show('game') "><img src="data:images/fclose.gif">娱乐八卦</a></ul>
  <ul id="game" class="no_circle" style="display: block;">
    <li><img src="data:images/doc.gif">红楼一梦</li>
    <li> <img src="data:images/doc.gif">笑话论坛</li>
    <li><img src="data:images/doc.gif">休闲生活</li>
    <li><img src="data:images/doc.gif">大话春秋</li>
  </ul>
</body>
CSS样式很简单,根据个人喜好设置:
 <style type="text/css">
	body{font-size:13px;
	line-height:20px;
	}
	a{font-size: 13px;
	color: #000000;
	text-decoration: none;
	}
	a:hover{font-size:13px;
	color: #ff0000;
	}
	img {
	vertical-align: middle;
	border:0;
	}
	.no_circle{list-style:none;
	display:none;
	}
</style>
JS内容我们用原生的JS很简单就写出来了,用show方法,获取到我们点击的块级元素的ID,给它添加display的样式,用if else语句来判断状态显示:
<script type="text/javascript">
  function show(d1){
    if(document.getElementById(d1).style.display=='block'){
	    document.getElementById(d1).style.display='none';  //触动的层如果处于显示状态,即隐藏
	  }
	  else{
	  document.getElementById(d1).style.display='block';  //触动的层如果处于隐藏状态,即显示
	}
  }
</script>
这样就完成树形菜单的编辑了。

用JS写一个网站树形菜单的更多相关文章
- 前端与编译原理——用JS写一个JS解释器
		
说起编译原理,印象往往只停留在本科时那些枯燥的课程和晦涩的概念.作为前端开发者,编译原理似乎离我们很远,对它的理解很可能仅仅局限于"抽象语法树(AST)".但这仅仅是个开头而已.编 ...
 - 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”
		
这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...
 - 写一个带文本菜单的程序,菜单项如下 (1)    取五个数的和 (2)     取五个数的平均值 (X)    退出。
		
问题: 写一个带文本菜单的程序,菜单项如下(1) 取五个数的和 (2) 取五个数的平均值(X) 退出. 由用户做一个选择, 然后执行相应的功能.当用户选择退出时程序结束. 实现: ...
 - JS写一个简单日历
		
JS写一个日历,配合jQuery操作DOM <!DOCTYPE html> <html> <head> <meta charset="UTF-8&q ...
 - 如何使用 js 写一个正常人看不懂的无聊代码
		
如何使用 js 写一个正常人看不懂的无聊代码 代码质量, 代码可读性, 代码可维护性, clean code WAT js WTF https://www.destroyallsoftware.com ...
 - 用原生js写一个"多动症"的简历
		
用原生js写一个"多动症"的简历 预览地址源码地址 最近在知乎上看到@方应杭用vue写了一个会动的简历,觉得挺好玩的,研究一下其实现思路,决定试试用原生js来实现. 会动的简历实现 ...
 - Vue.js 递归组件实现树形菜单
		
最近看了 Vue.js 的递归组件,实现了一个最基本的树形菜单. 项目结构: main.js 作为入口,很简单: import Vue from 'vue' Vue.config.debug = tr ...
 - 记录下使用iis7代理node.js写的网站程序
		
昨天晚上一个学弟的紧急求救,说了自己接的单子做了一个网站,使用了自己熟悉的技术——node.js+mongdb,但当看到部署环境惊呆了,是 windows+sqlserver.这些都不是关键,关键是服 ...
 - 【Part1】用JS写一个Blog(node + vue + mongoDB)
		
学习JS也有一段时间了,准备试着写一个博客项目,前后端分离开发,后端用node只提供数据接口,前端用vue-cli脚手架搭建,路由也由前端控制,数据异步交互用vue的一个插件vue-resourse来 ...
 
随机推荐
- laravel nginx下 css 和js 加载 重写规则
			
server { listen 80; server_name test.hanwen.com; #charset koi8-r; #access_log logs/host.access.log m ...
 - tensorflow版helloworld---拟合线性函数的k和b(02-4)
			
给不明白深度学习能干什么的同学,感受下深度学习的power import tensorflow as tf import numpy as np #使用numpy生成100个随机点 x_data=np ...
 - 学习不一样的Vue1:环境搭建
			
学习不一样的Vue1:环境搭建 发表于 2017-05-31 | 分类于 web前端| | 阅读次数 11677 首先 首发博客: 我的博客 项目源码: 源码 项目预览: 预览 因为个人的喜好 ...
 - Android音频录制MediaRecorder之简易的录音软件实现代码(转)
			
原文:http://www.jb51.net/article/46182.htm Android音频录制MediaRecorder之简易的录音软件实现代码 这篇文章主要介绍了Android音频录制Me ...
 - docsify简单教程
			
简介 一个神奇的文档网站生成器. 简单而轻便(〜18kB压缩) 没有静态构建的HTML文件 多个主题 快速开始 建议docsify-cli全局安装,这有助于本地初始化和预览网站. npm i docs ...
 - Django 学习组件分页器与自定制分页器
			
一.Django 分页器 1.django的分页器基础版 (1)首先是基础数据分别为 from django.db import models # Create your models here. c ...
 - 从零开始编写IntelliJ IDEA插件
			
写Java代码的时候,经常会涉及到重复性的操作,这个时候就会想要是有这样一个插件就好了,如果是大家都会遇到的场景,IDE或许已经提供了,再不然也有可能有人编写了相关的插件.要是这个操作是你们的编码环境 ...
 - linux----Nginx能做什么
			
linux----Nginx能做什么 标签: nginx负载均衡代理服务器 2017-04-01 14:15 588人阅读 评论(0) 收藏 举报 .embody{ padding:10px 10px ...
 - java并发AtomicIntegerFieldUpdater
			
java并发AtomicIntegerFieldUpdater 支持对象的成员变量原子操作类由AtomicIntegerFieldUpdater,AtomicLongFieldUpdater, Ato ...
 - PaperWeek1
			
------------------5月13日星期一---------------------------- 论文:Practical Locally Private Heavy Hitters 看了 ...