根据类型动态生成数据 html锚点使用 分页 待完成

{
"sucess":"true",
"list":
[
{
"id":1,
"type":"common",
"name":"moudule1",
"children":
[
{
"id":2,
"type":"suse",
"name":"attack1",
"children":
[
{
"id":3,
"type":"suse",
"name":"suse1"
},
{
"id":4,
"type":"common",
"name":"公共1"
},
{
"id":5,
"type":"task",
"name":"task1"
},
{
"id":6,
"type":"taoyao",
"name":"taoyao1"
},
{
"id":7,
"type":"dongl",
"name":"dongl1"
}
]
},
{
"id":8,
"type":"common",
"name":"Nan1",
"children":
[
{
"id":9,
"type":"dongl",
"name":"suse2"
},
{
"id":10,
"type":"common",
"name":"公共2"
},
{
"id":11,
"type":"task",
"name":"task2"
},
{
"id":12,
"type":"taoyao",
"name":"taoyao2"
},
{
"id":13,
"type":"dongl",
"name":"dongl2"
}
]
},
{
"id":14,
"type":"suse",
"name":"Red1",
"children":
[
{
"id":15,
"type":"suse",
"name":"suse3"
},
{
"id":16,
"type":"common",
"name":"公共3"
},
{
"id":17,
"type":"task",
"name":"task3"
},
{
"id":18,
"type":"taoyao",
"name":"taoyao3"
},
{
"id":19,
"type":"dongl",
"name":"dongl3"
}
]
}

]
},
{
"id":1,
"type":"common",
"name":"moudule2",
"children":[
{
"id":20,
"type":"taoyao",
"name":"moudule2",
"children":[
{
"id":21,
"type":"moutaoyaodule",
"name":"moudule2"
}
]
}
]
}

]

}

html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" href="css/jquerydata.css" />
</head>
<body>
<div class="content">
<!--div内容区-->
</div>
<div class="scrool">
<div class="sideContent">
<ul class="sideContentUl">
<!--list内容区-->
</ul>
</div>
</div>
<div class="button">
<button class="prevbutton" onclick="prev()">上一页</button>
<button class="nextbutton" onclick="next()">下一页</button>
</div>
</body>
<script type="text/javascript" src="js/jquery-1.7.2.min.js" ></script>
<script type="text/javascript" src="js/jquerydata.js" ></script>
</html>

css

html,body{font-size: 14px;color: #555555;font-family: "微软雅黑";}
*{padding: 0px;margin: 0px;}
ul,li{list-style: none;}
a{text-decoration: none;}
.content{margin-top: 50px;margin-left: 20px;}
.item{border: 1px solid #bbb;margin-bottom: 20px;width: 50%;padding: 20px;position: relative;}
.title{position: absolute;top: -13px;padding:3px 6px;background: yellow;}
.scrool{position: fixed;top: 100px;right: 180px;border: 1px solid red;width: 180px;height: 250px;overflow: hidden;}
.scrool li{height: 25px;line-height: 25px;background: #eaeaaa;cursor: pointer;}
.scrool li span{display: block;width: 100%;height: 100%;}
/*.scrool li a{display: block;height: 15px;background: red;}*/
.scrool li span.active,.scrool li span:hover{color: blue;background: pink;}
.level1{}
.level2 span{padding-left: 20px;}
.button{position: fixed;top: 100px;right: 80px;}
.button button{display: block;margin: 5px 0px;}
.sideContentUl{position: relative;top: 0px;}

js

$(function(){
//数据渲染
dataFuntion();
});
function dataFuntion(){
$.getJSON("jquerydata.json",function(data){
//异步请求,数据操作必须等数据渲染完成以后
var objList=data.list;
dataJsonFuntion(objList);
//list点击事件
clickFunction();
});
}
//list点击事件
function clickFunction(){
$(".sideContentUl li:eq(0)").find("span").addClass("active");
$(".sideContentUl li").click(function(){
$(this).siblings().find("span").removeClass("active");
$(this).find("span").addClass("active");
var id=$(this).data("list");
// location.hash=‘anhor_‘+id;
});
}
//右边的list数据,左面的div内容数据
function dataJsonFuntion(objList){
var listUl=‘‘;
var divUl=‘‘;
if(objList&&objList.length>0){
for(var i=0;i<objList.length;i++){
var secondArray=objList[i].children;
var firstId=objList[i].id;
var firstName=objList[i].name;
var firstType=objList[i].type;
var secondLi=‘‘;
var thirdLi=‘‘;
if(secondArray&&secondArray.length>0){
for(var j=0;j<secondArray.length;j++){
var secondName=secondArray[j].name;
var secondId=secondArray[j].id;
var thirdArray=secondArray[j].children;
var firstType=secondArray[j].type;
secondLi=‘<li class="level1" data-list="‘+secondId+‘">‘+
‘<span>‘+secondName+‘</span>‘+
// ‘<a href="#anhor_‘+secondId+‘"></a>‘+
‘</li>‘;
listUl+=secondLi;
divUl+=typeData(secondArray[j]);
if(thirdArray&&thirdArray.length){
for(var index=0;index<thirdArray.length;index++){
var thirdName=thirdArray[index].name;
var thirdId=thirdArray[index].id;
thirdLi=‘<li class="level2" data-list="‘+thirdId+‘">‘+
‘<span>‘+thirdName+‘</span>‘+
// ‘<a href="#anhor_‘+thirdId+‘"></a>‘+
‘</li>‘;
listUl+=thirdLi;
divUl+=typeData(thirdArray[index]);
}
}
}
}

}
}
$(".sideContentUl").append($(listUl));
$(".content").append($(divUl));
}
//根据类型来判断返回哪一种html
function typeData(obj)
{
if(obj.type==‘suse‘){
return ‘<div class="item" data-form="‘+obj.id+‘">‘+
‘<a id="#anhor_‘+obj.id+‘"></a>‘+
‘<div class="title">‘+obj.name+‘</div>‘+
‘<input class="input_common" />suse类型‘+
‘</div>‘;
}
else if(obj.type==‘common‘){
return ‘<div class="item" data-form="‘+obj.id+‘">‘+
‘<a id="#anhor_‘+obj.id+‘"></a>‘+
‘<div class="title">‘+obj.name+‘</div>‘+
‘<input class="input_common" />common类型‘+
‘</div>‘;
}
else if(obj.type==‘task‘){
return ‘<div class="item" data-form="‘+obj.id+‘">‘+
‘<a id="#anhor_‘+obj.id+‘"></a>‘+
‘<div class="title">‘+obj.name+‘</div>‘+
‘<input class="input_common" />task类型‘+
‘</div>‘;
}
else if(obj.type==‘taoyao‘){
return ‘<div class="item" data-form="‘+obj.id+‘">‘+
‘<a id="#anhor_‘+obj.id+‘"></a>‘+
‘<div class="title">‘+obj.name+‘</div>‘+
‘<input class="input_common" />taoyao类型‘+
‘</div>‘;
}
else if(obj.type==‘dongl‘){
return ‘<div class="item" data-form="‘+obj.id+‘">‘+
‘<a id="#anhor_‘+obj.id+‘"></a>‘+
‘<div class="title">‘+obj.name+‘</div>‘+
‘<input class="input_common" />dongl类型‘+
‘</div>‘;
}
}
//上一页下一页
var curentIndex=0;
var size=10;
var top=0;
function prev(){
$(".sideContentUl").animate({top:‘0px‘});

}
function next(){

$(".sideContentUl").animate({top:‘-250px‘});

}

时间: 2025-01-06 02:50:51

根据类型动态生成数据 html锚点使用 分页 待完成的相关文章

js动态生成数据列表

我们通常会使用table标签来展示数据内容,由于需要展示的数据内容是随时更换的,所以不可能将展示的数据列表写死在html写死在页面中,而是需要我们根据后台传来的数据随时更换,这个时候就需要我们使用js来动态生成表格. 首先我们需要先写好页面的样式. html部分 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; chars

动态生成数据--零散烈士陵园【广宁县】

C#动态生成数据篇: 第一篇:测试动态生成数据(测试篇): TODO: 关于测试篇:主要讲解理清业务思路,下一篇:动态生成数据(依据业务需求): TODO: 1,输入生成数据 2,两种方式生成动态数据(这里采用服务器端应用程序生成数据) 讲解篇:1,服务端aspx,2,服务端后台 1,服务端aspx <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LSLSM.aspx.cs"

爬虫案例(js动态生成数据)

需求:爬取https://www.xuexi.cn/f997e76a890b0e5a053c57b19f468436/018d244441062d8916dd472a4c6a0a0b.html页面中的新闻数据. 分析: 1.首先通过分析页面会发现该页面中的新闻数据都是动态加载出来的,并且通过抓包工具抓取数据可以发现动态数据也不是ajax请求获取的动态数据(因为没有捕获到ajax请求的数据包),那么只剩下一种可能,该动态数据是js动态生成的. 2.通过抓包工具查找到底数据是由哪个js请求产生的动态

抓取js动态生成数据

最近在抓数据,一般的网页数据抓取相对容易一些,今天在抓电视猫的节目单,发现有些数据时抓取不到的,Java端得到的HTML文件里面没有某一段代码,查了很多资料,发现说是js动态生成的数据,无法直接抓取,有一种解决方法是利用找到ajax请求地址和参数,重新抓取,该方法存在一个问题,就是当参数被加密过时,该方法就不好用了,所以,这里用了一个办法,就是利用HTMLunit来抓取(可以利用jsuop来处理HTML文件),jar包下载地址:http://download.csdn.net/detail/jo

JavaScript和jQuery动态的数据html页面里的分页效果

我们从数据拿到消息想动态加载到html页面,这要设计到ajax,这里ajax就不在重新叙述了,现在只讲拿到数据后插入到页面中,并且动态的生成底部的翻页栏效果,用到jQuery库. 主要思路是这个样子的: ①拿到数据总的条数,根据每页放多少个,来生成按钮,切割数据. 首先老规矩,来个html代码: <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">

东软软件动态生成对数据表更新操作的方法

1 public string CreatUpdate() 2 { 3 4 StringPlus strclass = new StringPlus(); 5 StringPlus strclass1 = new StringPlus(); 6 StringPlus strclass2 = new StringPlus(); 7 //方法注释 8 strclass.AppendSpaceLine(2, "/// <summary>"); 9 strclass.AppendS

JS动态生成表格后 合并单元格

JS动态生成表格后 合并单元格 最近做项目碰到表格中的单元格合并的问题,需求是这样的,首先发ajax请求 请求回来后的数据 动态生成表格数据,但是生成后如果编号或者(根据其他的内容)有相同时,要合并单元格操作,在做之前也试着google下,但是网上没有碰到这方面的需求,所以自己写了一个简单的.用文字描述需求太费劲了,如下图所示: 1. 没有合并之前的图如下: 2. 合并之后的图如下: 如上所示:是根据相邻的编号相同 进行单元格合并. 先看看实现后的效果再聊吧! JSfiddle链接地址如下: 点

Silverlight系列--动态生成DataGrid列 根据动态列绑定Dictionary数据

1.获取表头数据源动态生成DataGrid表头 DataGridTextColumn d = new DataGridTextColumn(); d.Header = itemPriceClass.PriceKindCode + itemPriceClass.PriceKindName; Binding bin = new Binding(); bin.Converter = new RowIndexConverter(); bin.ConverterParameter = itemPriceC

数据上报-动态生成winform表单

winform+Oracle数据库 通过数据库查询出所有列名.数据类型.描述等信息进行动态生成winform表单文件,再通过发射对类进行取值赋值.........适用于表结构单一,需要快速开发的项目 经理预估期1个星期的工作时间,我也不知道如果真的一个星期做完我会不会挂掉,而实际情况是数据库建立都花了一个星期虽然表名称.数据类型都不需要自己想,从建表模型设计,框架寻找. 1.需要用的类 public class FiledInfo { /// <summary> /// 字段名 /// <