网站地图siteMap实现:原样输出、循环渲染、递归渲染

news/2024/5/11 3:47:16/文章来源:https://lrbbfc.blog.csdn.net/article/details/127488937

  • 一、效果
  • 二、代码
    • 1、原样展示树形结构
    • 2、循环展示树形结构
    • 3、递归展示树形结构

一、效果

在这里插入图片描述

二、代码

1、原样展示树形结构

<html>
<head><title>Demo-原样</title><style>body {margin: 20px;}ul {list-style-type: none;margin: 10px 0px 10px 0px;padding: 0px;color: #00a0e9;}.title1 {font-size: 20px;}.title2 {padding-left: 30px;font-size: 18px;}.title3 {padding-left: 60px;font-size: 16px;}</style>
</head>
<body>
<ul id="content"><li class="title1"><a href="#">首页</a></li><li class="title1"><a href="#">内容分类</a></li><li class="title2"><a href="#">内容分类1</a></li><li class="title2"><a href="#">内容分类2</a></li><li class="title3"><a href="#">内容分类2-内容1</a></li><li class="title3"><a href="#">内容分类2-内容2</a></li><li class="title1"><a href="#">关于我们</a></li><li class="title2"><a href="#">联系我们</a></li>
</ul>
</body>
</html>

2、循环展示树形结构

<html>
<head><title>Demo-循环</title><style>body {margin: 20px;}ul {list-style-type: none;margin: 10px 0px 10px 0px;padding: 0px;color: #00a0e9;}.title1 {font-size: 20px;}.title2 {padding-left: 30px;font-size: 18px;}.title3 {padding-left: 60px;font-size: 16px;}</style>
</head>
<body>
<ul id="content"><!--<li class="title1"><a href="#">首页</a></li><li class="title1"><a href="#">内容分类</a></li><li class="title2"><a href="#">内容分类1</a></li><li class="title2"><a href="#">内容分类2</a></li><li class="title3"><a href="#">内容分类2-内容1</a></li><li class="title3"><a href="#">内容分类2-内容2</a></li><li class="title1"><a href="#">关于我们</a></li><li class="title2"><a href="#">联系我们</a></li>-->
</ul>
</body>
</html>
<script>//定义树形结构数据var data = [{id: 1, pid: 0, title: '首页', type: 'bar', page: '/home'},{id: 2,pid: 0,title: '内容分类',type: 'bar',page: '/cate',child: [{id: 4, pid: 2, title: '内容分类1', type: 'bar', page: '/cate1'},{id: 5,pid: 2,title: '内容分类2',type: 'bar',page: '/cate2',child: [{id: 7, pid: 5, title: '内容分类2-内容1', type: 'detail', page: ''},{id: 8, pid: 5, title: '内容分类2-内容2', type: 'detail', page: ''}]}]},{id: 3,pid: 0,title: '关于我们',type: 'bar',page: '/about_us',child: [{id: 6, pid: 3, title: '联系我们', type: 'bar', page: '/contact_us'}]}];makeHtml(data);//创建htmlfunction makeHtml(data) {var html = '';//循环填充内容htmlvar length = data.length;for (var i = 0; i < length; i++) {var oneInfo = data[i];html += '<li class="title1"><a href="' + jumpPage(oneInfo) + '">' + oneInfo.title + '</a></li>';var oneChild = oneInfo.child; //undefinedif (oneChild) { //循环二级数据// html += "<br/>";var oneLength = oneChild.length;for (var j = 0; j < oneLength; j++) {var twoInfo = oneChild[j];html += '<li class="title2"><a href="' + jumpPage(twoInfo) + '">' + twoInfo.title + '</a></li>';var twoChild = twoInfo.child; //undefinedif (twoChild) {// html += "<br/>";var twoLength = twoChild.length;for (var k = 0; k < twoLength; k++) {var threeInfo = twoChild[k];html += '<li class="title3"><a href="' + jumpPage(threeInfo) + '">' + threeInfo.title + '</a></li>';}}}}}document.getElementById('content').innerHTML = html; //数据渲染// $('ul#content').html(html); //jquery数据渲染}/*** 根据类型,返回跳转的链接* @param info* @returns {string}*/function jumpPage(info) {var url;if (info.type == 'bar') { //跳分类的页面url = info.page;} else { //跳详情url = 'detail?id=' + info.id;}return url;}
</script>

3、递归展示树形结构

<html>
<head><title>Demo-递归</title><style>body {margin: 20px;}ul {list-style-type: none;margin: 10px 0px 10px 0px;padding: 0px;color: #00a0e9;}.title1 {font-size: 20px;}.title2 {padding-left: 30px;font-size: 18px;}.title3 {padding-left: 60px;font-size: 16px;}</style>
</head>
<body>
<ul id="content"><!--<li class="title1"><a href="#">首页</a></li><li class="title1"><a href="#">内容分类</a></li><li class="title2"><a href="#">内容分类1</a></li><li class="title2"><a href="#">内容分类2</a></li><li class="title3"><a href="#">内容分类2-内容1</a></li><li class="title3"><a href="#">内容分类2-内容2</a></li><li class="title1"><a href="#">关于我们</a></li><li class="title2"><a href="#">联系我们</a></li>-->
</ul>
</body>
</html>
<script>//定义树形结构数据var data = [{id: 1, pid: 0, title: '首页', type: 'bar', page: '/home'},{id: 2,pid: 0,title: '内容分类',type: 'bar',page: '/cate',child: [{id: 4, pid: 2, title: '内容分类1', type: 'bar', page: '/cate1'},{id: 5,pid: 2,title: '内容分类2',type: 'bar',page: '/cate2',child: [{id: 7, pid: 5, title: '内容分类2-内容1', type: 'detail', page: ''},{id: 8, pid: 5, title: '内容分类2-内容2', type: 'detail', page: ''}]}]},{id: 3,pid: 0,title: '关于我们',type: 'bar',page: '/about_us',child: [{id: 6, pid: 3, title: '联系我们', type: 'bar', page: '/contact_us'}]}];makeHtml(data);//组装html元素function makeHtml(data) {//递归填充内容htmlvar html = recursionHtml(data, 1);document.getElementById('content').innerHTML = html; //数据渲染// $('ul#content').html(html); //jquery数据渲染}/*** 递归返回html* @param data 数据* @param classNumber 首页的层级数字,对应class的值* @returns {string|string}*/function recursionHtml(data, classNumber) {var html = "";var length = data.length;var className = "title" + classNumber;classNumber += 1; //自增位置注意for (var i = 0; i < length; i++) {var info = data[i]; //单条数据html += '<li class="' + className + '"><a href="' + jumpPage(info) + '">' + info.title + '</a></li>';var oneChild = info.child; //undefinedif (oneChild) {html += recursionHtml(oneChild, classNumber); //追加子元素内容}}return html;}/*** 根据类型,返回跳转的链接* @param info* @returns {string}*/function jumpPage(info) {var url;if (info.type == 'bar') { //跳分类的页面url = info.page;} else { //跳详情url = 'detail?id=' + info.id;}return url;}
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_714628.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows及iis网站配置https证书

先去CA机构申请ssl证书 然后在iis中配置https 然后给网站配置https 也可以参考这篇文章 https://www.cnblogs.com/weihanli/p/httpsconfiguration.html

2017年网站建设公司现状分析

2019独角兽企业重金招聘Python工程师标准>>> 一个网站的重要性不言而喻&#xff0c;而如何选择一家专业靠谱的建站开发公司却是多数需求方为之苦恼的问题。 纵观目前建站市场的整体发展&#xff0c;网站建设的业务已经趋于饱和&#xff0c;各类网站建设公司包括小型…

net core获取网站运行目录

string basePath Path.GetDirectoryName(typeof(Program).Assembly.Location);string picturesPath basePath "/../pictures/";//网站运行目录上一级同级目录根目录 根目录上级同级目录

10个要点为Joomla网站创建完善的SEO优化内容

注&#xff1a;针对谷歌浏览器的SEO优化内容 内容是决定网站排名的三大因素之一。因此&#xff0c;创造好的内容的需求比以往任何时候都更加突出。但是什么是好的内容呢?是否有一个公式可以让你提供完美的质量内容? 这个问题的答案既是肯定的也是否定的。是的&#xff0c;因为…

hbuilder简单网页模板_网页设计公司有哪些?用这个快速建站!

网站若想足够吸引人&#xff0c;一个吸睛美观的网页是不可或缺的。不过大多数企业和想要建站的个人都不懂设计知识&#xff0c;这种情况下&#xff0c;你就需要用到网页设计公司了。网页设计公司有哪些呢&#xff1f;国内外比较知名的有WordPress, Strikingly, Wix&#xff0c;…

建立网站需要什么条件_教育学校网站建设有什么作用?学校建立网站为的是什么?...

因为互联网的飞速发展&#xff0c;除了企业有建设网站的需要外&#xff0c;各大高校也都建立了自己的网站。学校建设网站是为了在网络上展示自己的平台&#xff0c;比如一些在线教育学校或线下实体培训学习等。不同的学校模式不尽相同&#xff0c;网站建设也会不一样&#xff0…

HTML实现学习网站首页

项目访问 reset.css /* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126License: none (public domain) */html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn…

一次网站登录慢故障排查

昨天上午到公司&#xff0c;研发发邮件通知说有用户反映登录我们A站速度很慢&#xff0c;登录进去之后的操作都是正常的&#xff0c;所以基本可以排除网络与服务器压力大的因素。 那么接下来就是看看数据库与缓存是否成为瓶颈&#xff0c;结果没有什么发现&#xff0c;毕竟A站是…

电商网站前台模板_电商热潮汹涌,兴长信达PEC零售商城系统为企业注入新力量...

随着5G时代的来临&#xff0c;伴随着移动互联网行业的高速发展&#xff0c;电子商务作为较为先进的商业模式在我国正在成为主流。放眼全球&#xff0c;电子商务模式同样发展迅速&#xff0c;全球电商销售额一直在不断蚕食全球零售市场&#xff0c;到2021年&#xff0c;预计全球…

Hosts文件与钓鱼网站

有些病毒或木马&#xff0c;修改你计算机上hosts文件&#xff0c;你访问某些网站就有可能访问到钓鱼网站&#xff0c;或者你的计算机不能打开某个网址&#xff0c;或者你能够打开网页&#xff0c;但是你的计算机不能升级病毒库&#xff0c;这时候你就应该检查一下你的计算机hos…

MySQL查询用户行为,网站用户行为分析

网站用户行为分析步骤1.1 本地数据集上传到数据仓库Hive数据集下载与查看数据集预处理把数据集导入HDFS中在Hive上创建数据库1.2 Hive数据分析给出数据分析需求用select语句实现数据分析数据分析结果查看与保存1.3 Hive、MySQL、HBase数据互导Hive数据分析结果(如用户购买与浏览…

linux子系统gdp调试,GDB调试命令_Linux编程_Linux公社-Linux系统门户网站

1、查看源码&#xff1a;list [函数名][行数]2、暂停程序(1)设置断点&#xff1a;a、break [源代码行号][源代码函数名][内存地址]b、break ... if condition ...可以是上述任一参数&#xff0c;condition是条件。例如在循环体中可以设置break ... if i 100 来设置循环次数(…

c底层用什么网站编写服务器,c编写服务器

c编写服务器 内容精选换一换简要介绍clang是一个C编写、基于LLVM、发布于LLVM BSD许可证下的C/C/Objective-C/Objective-C编译器。语言&#xff1a;C一句话描述&#xff1a;C/C/Objective-C/Objective-C编译器开源协议&#xff1a;Apache License Version 2.0建议的版本建议使用…

程序员经常访问的技术网站

作为一个工作几年的程序员&#xff0c;分类总结一下经常会访问的技术网站。 一.项目源码 (1).Github 代码托管 GitHub的使用可是程序员在职业生涯中技能必不可少的技能。它可以做Git代码托管平台&#xff0c;很多开源项目都放在Github上&#xff0c;因此我们就可以借鉴别人的…

好看的网站主页截图

好看的网站主页截图 总结 1、大图大气 2、网站界面好&#xff0c;用好图 截图 这个网站的美工挺不错的&#xff0c;但是这样东西并不难做啊 大图&#xff0c;大气

挖一挖那些让公司网站瘫痪的SQL“终结者”

IT实战联盟博客&#xff1a;http://blog.100boot.cn 一条慢查询会造成什么后果&#xff1f;之前我一直觉得不就是返回数据会慢一些么&#xff0c;用户体验变差&#xff1f; 其实远远不止&#xff0c;我经历过几次线上事故&#xff0c;有一次就是由一条 SQL 慢查询导致的。 那…

大型网站架构系列:缓存在分布式系统中的应用(三)

https://mp.weixin.qq.com/s/TrPlYj-3ymiLCIK8dQEiEw 上次主要给大家分享了&#xff0c;缓存在分布式系统中的应用&#xff0c;主要从不同的场景&#xff0c;介绍了CDN&#xff0c;反向代理&#xff0c;分布式缓存&#xff0c;本地缓存的常规架构和基本原理。 因为时间关于&a…

大型网站应用之海量数据和高并发解决方案总结一二!

https://mp.weixin.qq.com/s?__bizMzUxOTAxODc2Mg&mid2247483781&idx3&sn19959b3978281e9bcadd7d19d8ecc178&chksmf98141e0cef6c8f6d6d53da7886906308660b6aa820f5d1fc2b55721db23ce9bfa73fe128a44&scene21#wechat_redirect 作者&#xff1a;徐刘根 | …

千万级用户的大型网站,应该如何设计其高并发架构?(彩蛋)

转发自今日头条 目录 &#xff08;1&#xff09;单块架构 &#xff08;2&#xff09;初步的高可用架构 &#xff08;3&#xff09;千万级用户量的压力预估 &#xff08;4&#xff09;服务器压力预估 &#xff08;5&#xff09;业务垂直拆分 &#xff08;6&#xff09;用…

一个开源vue网站博客,nuxt开源网站,前后端分离项目

unNue.com 开媛笔记&#xff0c;基于nuxt ssr首屏服务器端渲染 。用于分享、记录、交流和学习&#xff0c;希望可以帮助到小伙伴们。同时网站在不断更新&#xff0c;创造属于猿&#xff08;媛&#xff09;的世界 -$Bao Yalong ..Lets Go! https://unnue.com 简述 前端 Github地…