Python-100-Days/Day21-30/code/list_by_jquery.html

114 lines
2.8 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>动态列表</title>
<style>
* {
margin: 0;
padding: 0;
}
body {
background-color: #000;
color: #fff;
}
#app {
width: 40%;
margin: 20px auto;
}
#fruits>li {
width: 90%;
height: 50px;
background-color: #6ca;
margin: 4px 0;
text-align: center;
font-size: 20px;
list-style-type: none;
line-height: 50px;
}
#fruits>li>a {
float: right;
color: #fff;
text-decoration: none;
margin-right: 10px;
}
#fruits+div {
margin-top: 20px;
}
#fname {
width: 70%;
height: 40px;
color: #fff;
border-radius: 8px;
border: none;
outline: none;
font-size: 20px;
text-align: center;
vertical-align: middle;
background-color: #999;
}
#ok {
width: 19%;
height: 40px;
color: #fff;
background-color: #a45;
border: none;
outline: none;
font-size: 16px;
vertical-align: middle;
}
</style>
</head>
<body>
<div id="app">
<ul id="fruits">
<li>苹果<a href="">×</a></li>
<li>香蕉<a href="">×</a></li>
<li>榴莲<a href="">×</a></li>
<li>火龙果<a href="">×</a></li>
</ul>
<div>
<input type="text" id="fname">
<button id="ok">确定</button>
</div>
</div>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script>
// 1. $函数的参数是一个函数,该函数是页面加载完成后执行的回调函数
$(() => {
function removeItem(evt) {
evt.preventDefault()
// 4. $函数的参数是原生JavaScript对象返回该原生JavaScript对象对应的jQuery对象
$(evt.target).parent().remove()
}
function addItem(evt) {
let fname = $('#fname').val().trim()
if (fname.length > 0) {
$('#fruits').append(
// 3. $函数的参数是标签字符串创建对应的标签元素并返回jQuery对象
$('<li>').text(fname).append(
$('<a>').attr('href', '').text('×')
.on('click', removeItem)
)
)
}
$('#fname').val('')
// jQuery对象通过下标运算或get方法可以获得与之对应的原生JavaScript对象
// input.get(0).focus()
$('#fname')[0].focus()
}
// 2. $函数的参数是选择器字符串返回对应元素的jQuery对象
$('#fruits a').on('click', removeItem)
$('#ok').on('click', addItem)
$('#fname').on('keydown', (evt) => {
let code = evt.keyCode || evt.which
if (code == 13) {
addItem(evt)
}
})
})
</script>
</body>
</html>