task1 : 要求完成水果动态添加删除
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
padding: 0;
margin: 0;
position: relative;
}
#top{
margin-top: 50px;
margin-left: 50px;
}
.fruit1,.fruit{
width: 260px;
height: 60px;
margin-bottom: 2px;
text-align: center;
}
.fruit1{
background-color: rgb(80,141,141);
}
.name{
display: inline-block;
line-height: 60px;
font-size: 20px;
color: white;
}
.del{
float: right;
cursor: pointer;
position: absolute;
right: 3px;
line-height: 60px;
font-size: 18px;
}
#bottom{
margin-left: 50px;
}
#bottom #text{
height: 70px;
text-align: center;
font-size: 20px;
width: 260px;
border: 0;
border-bottom: 2px solid rgb(150,150,150);
}
#bottom #text:focus{
outline: 0;
}
#bottom #button{
height: 50px;
border: 0;
background-color: goldenrod;
color: white;
width: 80px;
font-size: 18px;
}
#bottom #button:focus{
outline: 0;
}
</style>
</head>
<body>
<div id="top">
<div class="fruit1">
<font class="name">苹果</font><font class="del">×</font>
</div>
<div class="fruit1">
<font class="name">西瓜</font><font class="del">×</font>
</div>
<div class="fruit1">
<font class="name">香蕉</font><font class="del">×</font>
</div>
<div class="fruit1">
<font class="name">哈密瓜</font><font class="del">×</font>
</div>
</div>
<div id="bottom">
<input type="text" name="" id="text" value="" placeholder="请输入水果名"/>
<input type="button" name="" id="button" value="确定" onclick="addFruit()"/>
</div>
<script type="text/javascript">
//产生随机颜色
function randomColor(a=0.5){
var num1 = parseInt(Math.random()*255)
var num2 = parseInt(Math.random()*255)
var num3 = parseInt(Math.random()*255)
return "rgba(" + num1 + "," + num2 + "," + num3 +"," + a + ")"
}
//添加水果
buttonNode = document.getElementById("button")
buttonNode.onclick = function(){
//获取输入内容
inputeNode = document.getElementById("text")
var fruitMessage = inputeNode.value
if (fruitMessage.length == 0){
alert("请输入水果名")
return
}
inputeNode.value = ""
//创建节点
var divNode = document.createElement("div")
divNode.style.backgroundColor = randomColor(0.7)
divNode.className = "fruit"
var nameNode = document.createElement("font")
nameNode.className = 'name'
nameNode.innerText = fruitMessage
var delNode = document.createElement("font")
delNode.className = "del"
delNode.innerText = "×"
delNode.onclick = delAction
//添加节点
topNode = document.getElementById("top")
divNode.appendChild(nameNode)
divNode.appendChild(delNode)
topNode.insertBefore(divNode,topNode.firstElementChild)
}
//删除节点
delNodes = document.getElementsByClassName("del")
for (i=0;i<delNodes.length;i++){
delNode = delNodes[i]
delNode.onclick = delAction
function delAction(){
this.parentElement.remove()
}
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
position: relative;
}
#top{
margin-left: 60px;
margin-top: 60px;
}
#top div{
width: 200px;
height: 50px;
color: white;
font-size: 20px;
margin-bottom: 2px;
text-align: center;
line-height: 50px;
}
#top div font{
position: absolute;
right: 3px;
/*将光标变成手*/
cursor: pointer;
}
#bottom{
margin-left: 60px;
}
#bottom #text{
display: inline-block;
width: 200px;
height: 50px;
border: none;
outline: none;
/*让光标在中间*/
text-align: center;
border-bottom: 2px solid lightgrey;
font-size: 16px;
}
#bottom #button{
display: inline-block;
width: 100px;
height: 30px;
border: none;
outline: none;
background-color: coral;
color: white;
}
</style>
</head>
<body>
<div id="top">
</div>
<!--添加默认的水果标签-->
<script type="text/javascript">
var fruitArray = ['香蕉', '苹果', '草莓', '火龙果'];
for(index in fruitArray){
fruitName = fruitArray[index];
creatFruitNode(fruitName, 'darkgreen')
}
//==========删除水果=============
function delFruit(){
//在这儿,点击的是哪个标签this就指向谁
this.parentElement.remove()
}
//添加节点
function creatFruitNode(fruitName, color1){
//创建标签
var fruitNode = document.createElement('div')
fruitNode.innerHTML = fruitName;
var fontNode = document.createElement('font');
fontNode.innerText = '×';
//给点击事件绑定驱动程序
fontNode.onclick = delFruit;
fruitNode.appendChild(fontNode);
//设置背景颜色
fruitNode.style.backgroundColor = color1
//添加标签
var topNode = document.getElementById('top')
topNode.appendChild(fruitNode)
}
</script>
<div id="bottom">
<input type="text" name="" id="text" value="" />
<input type="button" name="" id="button" value="确定" onclick="addFruit()"/>
</div>
<script type="text/javascript">
//=========产生随机颜色=============
function randomColor(){
var num1 = parseInt(Math.random()*255);
var num2 = parseInt(Math.random()*255);
var num3 = parseInt(Math.random()*255);
return 'rgb('+num1+','+num2+','+num3+')';
}
//==========添加水果==============
function addFruit(){
//获取输入框中的内容
var inputNode = document.getElementById('text');
var addName = inputNode.value;
if(addName.length == 0){
alert('输入的内容为空!');
return;
}
//清空输入框中的内容
inputNode.value = '';
//创建标签
var fruitNode = document.createElement('div');
fruitNode.innerHTML = addName;
var fontNode = document.createElement('font');
fontNode.innerText = '×';
//给点击事件绑定驱动程序
fontNode.onclick = delFruit;
fruitNode.appendChild(fontNode);
//创建随机颜色
//'rgb(255, 0, 0)'
fruitNode.style.backgroundColor = randomColor();
var topNode = document.getElementById('top');
topNode.insertBefore(fruitNode, topNode.firstChild);
}
</script>
</body>
</html>
task2: 要求实现车牌查询限行
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#top{
height: 180px;
border-bottom: 1px solid rgb(150,150,150);
text-align: center;
position: relative;
}
#carname{
text-align: center;
font-size: 20px;
border: 0;
width: 300px;
border-bottom: 1px dotted rgb(150,150,150);
}
#top #middle{
position: absolute;
bottom: 4px;
width: 100%;
}
.button{
color: white;
width: 80px;
height: 30px;
margin-right: 5px;
background-color: red;
}
#top #carname:focus{
outline: 0;
}
#box2{
text-align: center;
}
</style>
</head>
<body>
<div id="top">
<div id="middle">
<input type="" name="" id="carname" value="" placeholder="请输入车牌号" />
<button class="button" onclick="queryAction()">查询</button>
<button class="button" onclick="delAction()">删除</button>
</div>
</div>
<div id="box2"></div>
<script type="text/javascript">
result = ""
function isTrafficControl(carNo){
today = new Date()
week = today.getDay()
if (week == 0 && week == 6){
return false
}
//1.找到第一个数字字符
numer = ''
for(x=carNo.length-1;x>=0;x--){
ch = carNo[x]
if('0'<=ch && ch<='9'){
numer = ch
break
}
}
//2.日期对应的车牌号是否限行
if(numer == week || numer==(week+5)%10){
return true
}
return false
}
//查询
function queryAction(){
//获取输入内容
inputNode = document.getElementById("carname")
carName = inputNode.value
inputNode.value =''
regular = /^[京津沪渝辽吉黑冀鲁豫晋陕甘闽粤桂川云贵苏浙皖湘鄂赣青新宁蒙藏琼][A-Z][\dA-Z]{5}$/
if (regular.test(carName) == false){
result = "不合法"
}else{
if (isTrafficControl(carName)){
result = "限行"
}else{
result = "不限行"
}
}
//创建节点
resultNode = document.createElement("div")
resultNode.style = 'height:40px; font-size:25px'
resultNode.innerText = "车牌" + carName + result
//添加节点
box2Node = document.getElementById("box2")
box2Node.appendChild(resultNode)
}
//清除
function delAction(){
box2Node.innerHTML=""
}
</script>
</body>
</html>
4.png
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0;
border: 0;
}
#box1{
border-bottom: 1px solid #808080;
text-align: center;
margin-top: 200px;
}
#box1 input{
font-size: 40px;
outline: none;
text-align: center;
border-bottom: 1px dotted #909090;
margin-bottom: 10px;
/*设置垂直方向的对齐方式*/
vertical-align: middle;
}
#box1 button{
width: 80px;
height: 40px;
color: white;
background-color: red;
font-size: 20px;
}
#box2{
text-align: center;
font-size: 35px;
}
</style>
</head>
<body>
<!--=============html============-->
<div id='box1'>
<input type="text" name="" id="" value="" placeholder="请输入车牌号"/>
<button id="btn1">查询</button>
<button id="btn2">清除</button>
</div>
<div id='box2'></div>
<!--=============js============-->
<script type="text/javascript">
//1.========获取需要的节点==========
var carNumNode = document.getElementsByTagName('input')[0];
var queryBtnNode = document.getElementById('btn1');
var clearBtnNode = document.getElementById('btn2');
var resultBoxNode = document.getElementById('box2');
var reObj = /^[京津沪渝辽吉黑冀鲁豫晋陕甘闽粤桂川云贵苏浙皖湘鄂赣青新宁蒙藏琼][A-Z]\s+[A-Z\d]{5}$/;
//2.==========是否限行============
function idTrafficControls(carNumber){
//a.获取最后一个数字
var isNumber = false; //车牌号是包含数字
for(var x=carNumber.length-1;x>=0;x--){
var number1 = carNumber[x];
//如果是数字
if(number1>='0' && number1 <= '9'){
isNumber = true;
break;
}
}
if(!isNumber){
return carNumber+'不是有效车牌号';
}
//b.判断数字是否限行: 1/6 - 1; 2/7 - 2 3/8 - 3 4/9-4 5/0-5
//获取当前时间
var now = new Date();
// var year = now.getFullYear(); //年
// var month = now.getMonth(); //月
// var day = now.getDate(); //天/日/号
//获取星期几
var week = now.getDay();
if(week > 5){
return carNumber+'今日不限行';
}
if(week == number1 || (week+5)%10 == number1 ){
return carNumber+'今日限行';
}else{
return carNumber+'今日不限行';
}
}
//3.===========查询===============
queryBtnNode.onclick = function(){
//a.获取输入框中的内容
var carNum = carNumNode.value;
//创建新的节点
var newNode = document.createElement('p');
//b.判断输入的车牌号是否符合要求:地名+大写字母 5个数字和字母混合
//正则对象.test(字符串) - 匹配,返回值是布尔
if(reObj.test(carNum)){
//判断车牌号是否限行
var message = idTrafficControls(carNum);
newNode.innerText = message;
}else{
newNode.innerText = carNum+'不是有效的车牌号';
}
//c.添加节点
resultBoxNode.appendChild(newNode);
}
//================4.清除=================
clearBtnNode.onclick = function(){
resultBoxNode.innerHTML = '';
}
</script>
</body>
</html>