今天要解释的是如下界面

            

主要实现了:

1.模拟后台的json数据,动态生成li标签

2.导航栏的下划线

3.给li标签右边设置图片

4.动态生成的li标签,设置选中的li的点击事件,将右边的图片换掉

完整代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!--<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">-->
<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
<title>页面一</title>
<script src="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <style type="text/css">
body{
margin: 0;
padding: 0;
height: 100%;
background: gainsboro;
}
.wrap{
height: 100%;
} #nav ul{
margin: 10px;
}
#title{
width: 100%;
height: 100px;
background-color: red;
} #nav{
width: 100%;
height: 20%;
background-color: white;
}
#nav li{
display: inline-block;
width:25%;
height:20%;
float: left; }
#nav li a{
color: #0f0f0f;
text-align: center;
font-size: 40px;
}
#nav ul li a:hover{
color:red;
} /*通过span设置下划线*/
#nav ul li a:hover span{
padding-bottom: 17px;
border-bottom: 2px solid ;
} .item{
padding: 40px;
margin-top: 40px;
margin-right: 40px;
margin-bottom: 40px;
border-radius: 25px;
//给li标签右边设置图片
background: red url('../2.png') no-repeat right center;
}
.i1{
padding: 40px;
margin-top: 40px;
margin-right: 40px;
margin-bottom: 40px;
border-radius: 25px;
background: red url('../1.png') no-repeat right center; } </style>
</head>
<body>
<div class="wrap"> <div id="title">
我是标题
</div> <div id="nav">
<ul class="nav nav-bar">
<li><a href="#" onclick="show1()"><span>个人资料</span></a></li>
<li><a href="#" onclick="show2()"><span>信息</span></a></li>
<li><a href="#" onclick="show3()"><span>产品兑换</span></a></li>
<li><a href="#" onclick="show4()"><span>兑换历史</span></a></li>
</ul>
</div> <div id="content" style="font-size: 40px">
<ul id="list" style="list-style: none "> </ul>
</div> </div> </body> <script>
function show1() {
//var obj = jQuery.parseJSON('{"name":"John","age":"20"}');
//第一种
//$("#list").html("<table><tr><td>" + obj.name + "</td><td>" + obj.age + "</td></tr></table>"); //第三种
// var data = [{"name":"张三", "age":"21"},{"name":"李四", "age":"21"},{"name":"王五", "age":"21"}];
// for(var i=0;i<data.length;i++){
// var a = "<li>姓名:" + data[i].name + ",年龄: "+ data[i].age +"</li>";
// $("#list").append(a);
// } //第二种 $.ajax({
url: 'data1.json', //在后文后有元数据
type: 'GET',
dataType: 'json',
timeout: 1000,
cache: false,
beforeSend: LoadFunction, //加载执行方法
error: erryFunction, //错误执行方法
success: succFunction //成功执行方法
})
function LoadFunction() {
$("#list").html('加载中...');
}
function erryFunction() {
alert("error");
}
function succFunction(tt) {
$("#list").html(''); // eval将字符串转成对象数组
// var json = { "id": "10086", "uname": "zhangsan", "email": "zhangsan@qq.com" };
// json = eval(json);
// alert("===json:id=" + json.id + ",uname=" + json.uname + ",email=" + json.email); var json = eval(tt); //json数组
var str=""; $.each(json, function (index) {
//循环获取数据
var id = json[index].id;
var name = json[index].name; //$("#list").html($("#list").html() + "<br>" + id + " - " + name + "<br/>");
//alert(id); str += "<li class='item'>"+id+"<br>"+name+"</li>";
$("#list").html($("#list").html() + str); //我想其实应该是这样的:当你点击某一项的时候,会进入一个URL,来进行更改数据库的操作。
//系统怎么识别出来你点击的是哪一项?
//jQuery中如何判断当前点击的是第几个li,使用$(this).index()取得li的下标 }); $("#content #list .item").click(function () {
alert($(this).index());
$(this).toggleClass("i1");
}); }
}
//function show2() show3() show4()的实现和show1()原理是一样的,这里就不再写了。 </script>
</html>

上边所模拟的数据data1.json

   [
{
"id":"EWVEB1",
"name":"车票从任何云顶长途快车车站至缆车站"
},
{
"id":"EWVEB2",
"name":"车票从任何云顶长途快车车站至缆车站"
},
{
"id":"EWVEB3",
"name":"车票从任何云顶长途快车车站至缆车站"
},
{
"id":"EWVEB4",
"name":"车票从任何云顶长途快车车站至缆车站"
},
{
"id":"EWVEB5",
"name":"车票从任何云顶长途快车车站至缆车站"
},
{
"id":"EWVEB6",
"name":"车票从任何云顶长途快车车站至缆车站"
},
{
"id":"EWVEB7",
"name":"车票从任何云顶长途快车车站至缆车站"
},
{
"id":"EWVEB8",
"name":"车票从任何云顶长途快车车站至缆车站"
},
{
"id":"EWVEB9",
"name":"车票从任何云顶长途快车车站至缆车站"
},
{
"id":"EWVEB10",
"name":"车票从任何云顶长途快车车站至缆车站"
}
]

动态生成li标签,并设置点击事件的更多相关文章

  1. Iphone上对于动态生成的html元素绑定点击事件$(document).click()失效解决办法

    在Iphone上,新生成的DOM元素不支持$(document).click的绑定方法,该怎么办呢? 百度了N久都没找到解决办法,在快要走投无路之时,试了试Google,我去,还真找到了,歪国人就是牛 ...

  2. jq给动态生成的标签绑定事件的几种方法

    经常遇到给动态生成的标签绑定事件不好用,自己简单测试总结了下,结论如下了: body> <!-- 下面是用纯动态方式生成标签 --> <div id="d2" ...

  3. 原生js怎么为动态生成的标签添加各种事件

    这几天用zepto.js写了不少事件,突然想到一个问题,那就是原生的js如何给动态生成的标签添加事件?因为这些标签都是后来通过ajax或者运行其他点击事件生成的,那么如果之前给他们写事件他们这个dom ...

  4. jQuery动态添加li标签并添加属性和绑定事件

    代码如下: <%@page import="java.util.ArrayList"%> <%@ page language="java" c ...

  5. 动态生成的DOM不会触发onclick事件的原因及解决方法

    最近朋友在做一个项目的时候,遇到动态加载微博内容,然后点击“展开评论”后获取该微博的所有评论.这里使用了动态加载的<span mid='123456789′ class='get_comment ...

  6. 关于在"a"标签中添加点击事件的一些问题

    昨天做修改页面跳转时遇到一个问题,如果a标签的"href"属性为空的话,比如这样<a href="" onclick="roleupdate() ...

  7. C# 动态生成的按钮及定义按钮的事件的代码

    内容闲暇时间,把内容过程中比较常用的内容备份一下,如下的内容内容是关于C# 动态生成的按钮及定义按钮的事件的内容,应该对码农们也有用途. HtmlGenericControl control = ne ...

  8. jquery:为动态加载的元素添加点击事件

    jquery:为动态加载的元素添加点击事件 最近在做项目的时候遇到了这样一个问题,给用ajax动态加载出来的内容添加点击事件,但是怎么都触发不了,经过查询试验总结出正确的写法 在jquery1.7之前 ...

  9. a标签上的点击事件

    当我们在处理a标签上的点击事件时发现即使href=""里面为空,点击事件的效果也不明显,这种情况该如何处理呢?常见的处理方法有以下几种: 1.a href="javasc ...

随机推荐

  1. 架构设计经典案例:X窗体系统

    X Window在1984年由MIT研发.它的设计哲学之中的一个是:提供机制.而非策略(类似面向对象思想中的"针对接口编程,而不是针对实现编程").机制(mechanism)是指须 ...

  2. Python练习题2

    如果真的想学精,学什么都不是好学的,如果真的想把Python学的出神入化,几乎自己想做什么都可以,就要下定恒心,坚持下去. 接下来继续更新Python练习题2,通过更新前一部的练习题让自己也学到了不少 ...

  3. 使用JS对select标签进行联动选择

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  4. Linux——系统调用笔记1

    底层文件访问:    进程:运行中的程序,它有一些与值关联的文件描述符,有多少个文件描述符取决于系统配置情况.    当一个程序开始运行时,一般会打开三个文件描述符:        0:标准输入    ...

  5. 初探swift语言的学习笔记十一(performSelector)

    作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/35842441 转载请注明出处 假设认为文章对你有所帮助,请通过留言 ...

  6. XML转换为HTML

    from:http://www.w3school.com.cn/xml/xml_to_html.asp 在上一节中,我们讲解了如何通过 JavaScript 来解析 XML 并访问 DOM. 本例遍历 ...

  7. 【内存数据库】OracleTimesten连接DSN创建用户

    ************************************************************************ ****原文:blog.csdn.net/clark_ ...

  8. js可视区域图片懒加载

    可视区域图片懒加载 实现原理,页面滚动时获取需要懒加载的图片,判断此图片是否在可视区域内,是则设置图片data-src地址为src地址,加载图片. html下载地址 <!DOCTYPE html ...

  9. 2016/04/13 ①html 中各种分割线------------------------------------------ ② 控制文字显示

    ①各种分割线Html代码 1.<HR> 2.<HR align=center width=300 color=#987cb9 SIZE=1>align 线条位置(可选left. ...

  10. iOS开发——高级篇——多线程GCD死锁

    面试题 请问以下代码打印结果: - (void)interview01 { // 以下代码是在主线程执行的 NSLog(@"执行任务1"); dispatch_queue_t qu ...