forked from HaoZhang95/Python24
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbasic02.html
More file actions
122 lines (105 loc) · 3.93 KB
/
Copy pathbasic02.html
File metadata and controls
122 lines (105 loc) · 3.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>todolist</title>
<style type="text/css">
.list_con{
width:600px;
margin:50px auto 0;
}
.inputtxt{
width:550px;
height:30px;
border:1px solid #ccc;
padding:0px;
text-indent:10px;
}
.inputbtn{
width:40px;
height:32px;
padding:0px;
border:1px solid #ccc;
}
.list{
margin:0;
padding:0;
list-style:none;
margin-top:20px;
}
.list li{
height:40px;
line-height:40px;
border-bottom:1px solid #ccc;
}
.list li span{
float:left;
}
.list li a{
float:right;
text-decoration:none;
margin:0 10px;
}
</style>
<script type="text/javascript" src="../../12jQuery_Basic/day01/js/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
$(function(){
// 增加按钮单击:获取用户输入的数据 -- 放到节点变量li标签中 -- 追加函数把节点变量追加到页面中
$('#btn1').click(function(){
var vals = $('#txt1').val()
// alert(vals)
// 如果用户输入的内容是空,报错
if(vals =='') {
alert('请输入内容');
return;
}
// 超链接如果写javascript:;或者javascript:void(0)表示此链接不跳转任何界面
var lis = $('<li><span>'+vals+'</span><a href="javascript:;" class="up"> ↑ </a><a href="javascript:;" class="down"> ↓ </a><a href="javascript:;" class="del">删除</a></li>');
lis.prependTo($('#list'));
})
// 用户点击了添加,页面新增一行记录,不能直接在js中设置list下面a的点击事件,因为程序运行的时候,jquery根本
// 读取不到用户添加的元素,只能绑定页面已经写好存在的元素的事件,所以只能使用delegate事件委托处理未来元素
// $('#list a').click(function(){
// alert(1) //不能触发命令:当程序执行的时候,jq还读取不到未来元素,所以就没有对应的命令被触发
// })
$("#list").delegate("a", "click", function () {
// 一行li标签有3个a标签,使用a标签上的类名来区分不同的a标签
var myClass = $(this).prop("class");
// 删除的对象是该this的a标签中的父级li标签
if (myClass == "del") {
$(this).parent().remove()
} else if (myClass == "up") {
if ($(this).parent().index() == 0) {
alert("已经在顶部了...")
return;
}
// 同级改变li的位置使用的是insert而不是prepend
$(this).parent().insertBefore($(this).parent().prev())
} else if(myClass == 'down') {
// 判断是不是最后一个,可以使用length判断或者当前的next是不是还有元素
if ($(this).parent().next().length == 0) {
alert("已经在底部了...")
return;
}
console.log(111);
// 同级改变li的位置使用的是insert而不是prepend
$(this).parent().insertAfter($(this).parent().next())
}
})
})
</script>
</head>
<body>
<div class="list_con">
<h2>To do list</h2>
<input type="text" name="" id="txt1" class="inputtxt">
<input type="button" name="" value="增加" id="btn1" class="inputbtn">
<ul id="list" class="list">
<li><span>学习html</span><a href="javascript:;" class="up"> ↑ </a><a href="javascript:;" class="down"> ↓ </a><a href="javascript:;" class="del">删除</a></li>
<li><span>学习css</span><a href="javascript:;" class="up"> ↑ </a><a href="javascript:;" class="down"> ↓ </a><a href="javascript:;" class="del">删除</a></li>
<!-- sfasdjf -->
<li><span>学习javascript</span><a href="javascript:;" class="up"> ↑ </a><a href="javascript:;" class="down"> ↓ </a><a href="javascript:;" class="del">删除</a></li>
</ul>
</div>
</body>
</html>