第七阶段 -- 网页编程基础:【JS02】

1. DOM编程实例01

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style><!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			tr{
				height: 70px;
			}
			td ,th{
				width: 150px;
				text-align: center;
			}
		</style>
		<script>
			function  addNode(){
				//获得table表格对象
				var  tab=document.getElementById("tab"); 
				//创建tr节点对象
				var tr =document.createElement("tr");
				//创建td对象
				var  td =document.createElement("td");
				td.innerHTML="<input type='text' size='10px' οnblur='seaveVal(this)'/>"
				
				var  td2 =document.createElement("td");
				td2.innerHTML="<input type='text' size='10px'  οnblur='seaveVal(this)'/>"
				var  td3 =document.createElement("td");
				td3.innerHTML="<input type='button'  value='添加'/> "+
				              "<input type='button' value='删除' οnclick='removeNode(this)'/>"
				tab.appendChild(tr);
				tr.appendChild(td);
				tr.appendChild(td2);
				tr.appendChild(td3);
			}
			
			function  seaveVal(thi){
				//获得父亲级节点
				var  td =thi.parentNode;
				td.innerText=thi.value;
			}
            
			function removeNode(thi){
				//获得tr节点
				var tr= thi.parentNode.parentNode;
				tr.remove();
			}
		</script>
	</head>
	<body>
		<table border="1px" align="center" id="tab">
			<tr>
				<th>图书名称</th>
				<th>图书价格</td>
				<th>操作</th>
			</tr>
			<tr>
				<td>javaSE</td>
				<td>19</td>
				<td>
					<input type="button" name="" id="" value="添加"  onclick="addNode()"/>
					<input type="button" name="" id="" value="删除" onclick='removeNode(this)' />
				</td>
			</tr>
			<tr>
				<td>javaEE</td>
				<td>39</td>
				<td>
					<input type="button" name="" id="" value="添加" onclick="addNode()"/>
					<input type="button" name="" id="" value="删除" onclick='removeNode(this)'/>
				</td>
			</tr>
		</table>
	</body>
</html>
			tr{
				height: 70px;
			}
			td ,th{
				width: 150px;
				text-align: center;
			}
		</style>
		<script>
			function  addNode(){
				//获得table表格对象
				var  tab=document.getElementById("tab"); 
				//创建tr节点对象
				var tr =document.createElement("tr");
				//创建td对象
				var  td =document.createElement("td");
				td.innerHTML="<input type='text' size='10px' onblur='seaveVal(this)'/>"
				var  td2 =document.createElement("td");
				td2.innerHTML="<input type='text' size='10px'  onblur='seaveVal(this)'/>"
				var  td3 =document.createElement("td");
				td3.innerHTML="<input type='button'  value='添加'/> "+
				              "<input type='button' value='删除' onclick='removeNode(this)'/>"
				tab.appendChild(tr);
				tr.appendChild(td);
				tr.appendChild(td2);
				tr.appendChild(td3);	
			}

2. DOM编程实例02

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			body{
			  background-image: url(img/bjsky.jpg);
			  background-repeat: no-repeat;
			  background-size: 1600px  800px;
			}
			a{
				font-size: 25px;
				color: #ffffff;
			}
			.div1{
				width: 300px;
				height: 200px;
				background-color: gray;
				text-align: center;
			}
			input{
				width: 40px;
				height: 30px;
			}
		</style>
		<script>
		    var  i=-1;
			 function  changebc(){
			 	var  arr=['mayun.jpg','bjsky.jpg','simple.jpg','sxt.jpg','zgc.jpg'];
			    if(i<arr.length-1){
			    	    i++;
			    }else {
			    	i=0;
			    }
document.body.style.backgroundImage="url(img/"+arr[i]+")"
			 }
			function  chengove(){
				//获得div对象
				var  div =document.getElementById("div_1");
				div.style.marginTop= Math.random()*500+ "px";
div.style.marginLeft=Math.random()*800+"px";
			}
			function  changeclk(){
document.body.style.backgroundImage="url(img/1.jpg)";
				//设置当前的div隐藏
document.getElementById("div_1").style.display="none";	
			}
		</script>
	</head>
	<body>
		<a href="javascript:changebc()">点击更换主题</a>
		<div class="div1" id="div_1">
			<h3>我是不是你的小可爱</h3>
			<input type="button" value=""  onclick="changeclk()"/>
			<input type="button" value=""  onmouseover="chengove()"/>
		</div>
	</body>
</html>

3. 表单元素操作

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			function  checkName(){
				//获得input对象的值
				var  uname =document.getElementById("uname").value;
				//获得span对象
				var span =document.getElementById("uname_span");
				if(uname==null||uname==""){
					span.innerText="×账号不能为空";
				}else {
					span.innerText="√账号合法";
				  //手动的提交表单
				}
			}
		</script>
	</head>
	<body>
		 <form action="" name="fom" id="fom" >
		 	<p>
		 		账号:<input type="text" name="uname" id="uname" onblur="checkName()"/><span id="uname_span"></span>
		 	</p>
		 	<p>
		 		密码:<input type="password" name="pwd" value="123"/>
		 	</p>
		 	<p>
		 		<input type="button" value="提交" onclick="checkName()" />
		 	</p>
		 </form>
	</body>
</html>
<!--
	readonly和disabled
	共同的特点: 可以看到数据, 但是不可以操作数据
	不同:readonly(只读): 里面的数据是可以提交到后台
	     disabled(不可用):数据无法提交到后台
	 控制表单提交的方式
   [1]  οnsubmit="return checkName()"
   [2]  document.fom.submit();
   [3]   var  fom = document.getElementById("fom");
		 fom.submit();
-->

4. 表单验证

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
		  var  ran;
			/**********验证码生成**********/
			function  YZM(){
				//4位随机整数
			    ran=Math.floor(Math.random()*9000+1000);
				//获得span对象
				var span =document.getElementById("yzm_span");
				span.innerText=ran;
			}
			
			/*********校验用户名方法**************/
			
			function  checkName(){
				//汉字的正则表达式
				var  reg=/^[\u4e00-\u9fa5]{3,5}$/;
				return check("uname",reg);
			}
			
			/*********校验邮箱方法**************/
			
			function  checkEmail(){
				//邮箱的正则表达式
				var  reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
			return	check("email",reg);
			}
			
			/*********密码邮箱方法**************/
			function  checkPwd(){
				//密码的正则表达式
				var  reg=/^\d{3,6}$/;
			return	check("pwd",reg);
			}
			
			/***********提取公共的部分***************/
			function  check(id,reg){
				//获得密码的值
				var  uname=document.getElementById(id);
				var  val=uname.value;
				//获得alt属性
				var  alt=uname.alt;
				//获得span对象
				var span =document.getElementById(id+"_span");
				if(val==null||val==""){
					span.innerText="×"+alt+"不能为空";
					span.style.color="red";
					return false;
				}else if(reg.test(val)){
					span.innerText="√"+alt+"合法";
					span.style.color="green";
					return true;
				}else{
					span.innerText="×"+alt+"不合法";
					span.style.color="red";
					return false;
				}
			}
			
			/*******性别校验**************/
			function  checkSex(){
				//获得所有的性别对象
				var  sex=document.getElementsByName("sex");
				//获得span对象
				var span =document.getElementById("sex_span");
				for(var  i in sex){
					if(sex[i].checked){
						span.innerHTML="性别选择成功";
						span.style.color="green";
						return true;
					}
				}
				span.innerHTML="请选择性别";	
				span.style.color="red";	
				return false;
			}
			/*********籍贯校验***********/
			function  checkAdress(){
				var  sel=document.getElementById("sel").value;
				var  span =document.getElementById("sel_span");
				if(sel==0){
					span.style.color="red";
					span.innerText="请选择籍贯"
					return false;
				}else {
					span.style.color="green";
					span.innerText="籍贯选择成功"
					return true;
				}
			}
			/*******验证码输入校验********************/
			function  checkYZM(){
				//获得自己输入的验证码
				var  yzm=document.getElementById("yzm").value;
				//获得span标签
				var  span =document.getElementById("yzm2_span");
				if(ran==yzm){
					span.style.color="green";
					span.innerText="验证码正确";
					return true;
				}else {
					span.style.color="red";
					span.innerText="验证码不正确";
					return false;
				}
			}
			/*******是否统一协议**********/
			function  checkAgree(){
				//同意框
				var  check=document.getElementById("check");
				//提交
				var  sub=document.getElementById("sub");

				sub.disabled=!check.checked;
			}
			function zong(){	
			  var  flag=checkName()&&checkPwd()&&checkSex()&&checkYZM()&&checkAgree()&&checkEmail();
		     return flag;		
			}
			/*
			 * 
			 * 正则表达式:
			 *    
			 * 正则表达式是对于数据格式进行一定的规范限制
			 * 
			 * 
			 * ^:开始
			 * [0-9]  [a-z A-Z] :数字  字母
			 * 
			 * {2,4} :段域 至少是2位  最多是4位
			 * {3}:指定范围就是3位
			 * {2,}:至少是2位
			 *  $:结束
			 * 
			 * \d:[0-9]
			 * 
			 * \w[0-9 a-z A-Z]
			 * 
			 * */
		</script>
	</head>
	<body onload="YZM()">
		<center>
		<h3>注册页面</h3>
		<hr />
		<form action="" method="get" onsubmit="return zong()">
		<table>
			<tr height="35px">
				<td width="150px">用户名:</td>
				<td width="400px">
					<input type="text" name="uname" id="uname" value="" alt="用户名" onblur="checkName()"/>
				    <span id="uname_span">*用户名必须是3-5位的汉字</span>
				</td>
			</tr>
			<tr height="35px">
				<td>密码:</td>
				<td>
					<input type="password" name="pwd" id="pwd" value="" alt="密码" onblur="checkPwd()"/>
					<span id="pwd_span"></span>
					
				</td>
			</tr>
			<tr height="35px">
				<td>手机号:</td>
				<td>
					<input type="text" name="phone" id="phone" value="" alt="手机号" />
					<span id="phone_span"></span>
				</td>
			</tr>
			<tr height="35px">
				<td>邮箱:</td>
				<td>
					<input type="text" name="email" id="email" value="" alt="邮箱" onblur="checkEmail()" />
				    <span id="email_span"></span>
				</td>
			</tr>
			<tr height="35px">
				<td>性别:</td>
				<td>
					男:<input type="radio" name="sex" id="" value="1"  onclick="checkSex()"/>
					女:<input type="radio" name="sex" id="" value="0" onclick="checkSex()"/>
					<span id="sex_span">
					</span>
				</td>
			</tr>
			<tr height="35px">
				<td>爱好:</td>
				<td>
					<input type="checkbox" name="fav" id="" value="1" />唱歌
					<input type="checkbox" name="fav" id="" value="2" />睡觉
					<input type="checkbox" name="fav" id="" value="3"  />LOL<br />
					<input type="checkbox" name="fav" id="" value="4"  />旅游
					<input type="checkbox" name="fav" id="" value="5" />高尔夫
					<input type="checkbox" name="fav" id="" value="6" />篮球
					
				</td>
			</tr>
			<tr height="35px">
				<td>籍贯:</td>
				<td>
					<select name="adress" id="sel" onchange="checkAdress()">
						<option value="0">--请选择--</option>
						<option value="1">河南</option>
						<option value="2">湖南</option>
						<option value="3">海南</option>
						<option value="4">云南</option>
					</select>
					<span id="sel_span"></span>
				</td>
			</tr>
			
			<tr height="35px">
				<td>验证码</td>
				<td>
					<input type="number" name="" id="yzm" value="" onblur="checkYZM()"/>
					<span id="yzm_span"></span>
					<span id="yzm2_span"></span>
				</td>
			</tr>
			<tr height="35px">
				<td>个人介绍:</td>
				<td>
					<textarea name="intro" rows="8" cols="30"></textarea>
				</td>
			</tr>
			<tr height="35px">
				<td colspan="2" align="center">
					<input type="checkbox" name="" id="check" value="" onclick="checkAgree()">是否同一本公司协议
				</td>
			</tr>
			<tr height="35px">
				<td colspan="2" align="center">
					<input type="submit" id="sub" value="注册" disabled="true"/>
				</td>
			</tr>
		</table>
		</form>
		</center>
	</body>
</html>

5. 案例:制作购物车页面

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<link rel="stylesheet" type="text/css" href="css/reset.css"/>
		<link rel="stylesheet" type="text/css" href="css/jd.css"/>
		<link rel="stylesheet" type="text/css" href="icon/iconfont.css"/>
		<script type="text/javascript" src="js/jd.js" ></script>
	</head>
	<body>
		<!--导航开始-->
		  <div class="nav">
		  	 <div class="warp">
		  	 	  <ul class="nav_ul1">
		  	 	  	<li><a href=""><i class="iconfont">&#xe6d3;</i> 京东首页</a></li>
		  	 	  	<li><a href="">配送到:北京</a></li>
		  	 	  </ul>
		  	 	  <ul class="nav_ul2">
		  	 	  	<li><a href="">洋洋宝贝</a><span>|</span></li>
		  	 	  	<li><a href="">我的订单</a><span>|</span></li>
		  	 	  	<li><a href="">我的京东</a><span>|</span></li>
		  	 	  	<li><a href="">京东会员</a><span>|</span></li>
		  	 	  	<li><a href="">企业采购</a><span>|</span></li>
		  	 	  	<li><a href="">京东手机</a><span>|</span></li>
		  	 	  	<li><a href="">关注京东</a><span>|</span></li>
		  	 	  	<li><a href="">客户服务</a><span>|</span></li>
		  	 	  	<li><a href="">网站导航</a></li>
		  	 	  </ul>
		  	 </div>
		  </div>
		<!--导航结束-->
		<!--搜索框开始-->
		  <div class="search">
		  	  <div class="warp">
		  	  	  <img src="img/logo.jpg" />
		  	  	  <div class="search_div">
		  	  	  	  <input type="text" class="search_text" />
		  	  	  	  <input type="button" value="搜索"  class="search_but"/>
		  	  	  </div>
		  	  </div>
		  </div>
		<!--搜索框结束-->
		<!--标题开始-->
		  <div class="title warp">
		  	  <h3>全部商品</h3>
		  	  <div> 
		  	  	 <span>配送到</span>
		  	  	<select>
		  	  		<option>昌平区</option>
		  	  		<option>顺义区</option>
		  	  		<option>大兴区</option>
		  	  		<option>朝阳区</option>
		  	  		<option>昌平区</option>
		  	  	</select>
		  	  </div>
		  </div>
		<!--标题结束-->
		<!--显示菜单的开始-->
		  <div class="tips warp">
		  	 <ul>
		  	 	<li>
		  	 		<input type="checkbox" name="fav" id="all" onclick="checkTest1(this),checkTest2()"/>
		  	 		全选
		  	 	</li>
		  	 	<li>商品</li>
		  	 	<li>单价</li>
		  	 	<li>数量</li>
		  	 	<li>小计</li>
		  	 	<li>操作</li>
		  	 </ul>
		  </div>
		<!--显示菜单的结束-->
		
		<!--商品详情展示开始-->
		  <div class="info warp">
		  	
		  	  <ul>
		  	  	<li class="info_1"><input type="checkbox"   name="fav" onclick="checkTest2()"/> </li>
		  	  	<li class="info_2"> <img src="img/img1.jpg" width="80px"/> </li>
		  	  	<li class="info_3"><a>【京东超市】desha春秋季儿童休闲服</a></li>
		  	  	<li class="info_4"><a>颜色:灰色+粉红</a> </li>
		  	  	<li class="info_5">182.5</li>
		  	  	<li class="info_6">
		  	  		<button onclick="checkTest3(this,1),checkTest2()">-</button>
		  	  		<input type="text" name="" id="" value="1" />
		  	  		<button class="bot" onclick="checkTest3(this,2),checkTest2()">+</button>
		  	  		
		  	  	</li>
		  	  	<li class="info_7">¥182.5</li>
		  	  	<li>
		  	  		<a href="javascript:viod(0)" onclick="checkTest4(this),checkTest2()">删除</a><br />
		  	  		<a>已到我的关注</a>
		  	  	</li>
		  	  </ul>
		 </div>
		 <div class="info warp">
		  	  <ul>
		  	  	<li class="info_1"><input type="checkbox" name="fav" onclick="checkTest2()"/> </li>
		  	  	<li class="info_2"> <img src="img/img1.jpg" width="80px"/> </li>
		  	  	<li class="info_3"><a>【京东超市】desha春秋季儿童休闲服</a></li>
		  	  	<li class="info_4"><a>颜色:灰色+粉红</a> </li>
		  	  	<li class="info_5">182.5</li>
		  	  	<li class="info_6">
		  	  		<button onclick="checkTest3(this,1),checkTest2()">-</button>
		  	  		<input type="text" name="" id="" value="1" />
		  	  		<button class="bot" onclick="checkTest3(this,2),checkTest2()">+</button>
		  	  		
		  	  	</li>
		  	  	<li class="info_7">¥182.5</li>
		  	  	<li>
		  	  		<a href="javascript:viod(0)" onclick="checkTest4(this),checkTest2()">删除</a><br />
		  	  		<a>已到我的关注</a>
		  	  	</li>
		  	  </ul>
		  </div>
		   <div class="info warp">
		  	  <ul>
		  	  	<li class="info_1"><input type="checkbox" name="fav"  onclick="checkTest2()"/> </li>
		  	  	<li class="info_2"> <img src="img/img1.jpg" width="80px"/> </li>
		  	  	<li class="info_3"><a>【京东超市】desha春秋季儿童休闲服</a></li>
		  	  	<li class="info_4"><a>颜色:灰色+粉红</a> </li>
		  	  	<li class="info_5">182.5</li>
		  	  	<li class="info_6">
		  	  		<button onclick="checkTest3(this,1),checkTest2()">-</button>
		  	  		<input type="text" name="" id="" value="1" />
		  	  		<button class="bot" onclick="checkTest3(this,2),checkTest2()">+</button>	
		  	  	</li>
		  	  	<li class="info_7">¥182.5</li>
		  	  	<li>
		  	  		<a href="javascript:viod(0)" onclick="checkTest4(this),checkTest2()">删除</a><br />
		  	  		<a>已到我的关注</a>
		  	  	</li>
		  	  </ul>
		  </div>
		<!--商品详情展示结束-->
		<!--结算开始-->
	   <div class="balance warp">
	   	   <ul class="balance_ul1">
	   	   	<li>
	   	   		<input type="checkbox" name="fav" id="" value=""  onclick="checkTest1(this),checkTest2()"/>
	   	   		全选
	   	   	</li>
	   	   	<li><a>删除选中商品</a></li>
	   	   	<li><a>移到我的关注</a></li>
	   	   	<li><a>清除下柜商品</a></li>
	   	   </ul>
	   	   <ul class="balance_ul2">
	   	   	 <li>已经选择<span id="snum">0</span>件商品</li>
	   	   	 <li>总价 <span id="zongz">¥0</span></li>
	   	   	 <li>
	   	   	 	<button class="butt">去结算</button>
	   	   	 </li>
	   	   </ul>
	  	</div>
		<!--结算结束-->
	</body>
</html>

6. 自定义对象prototype

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			function  user(age,sex){
				this.name="张三";
				this.age=age;
				this.sex=sex;
				this.eat=function(){
					//方法体
					alert("我是user中的吃的方法")
				}
			}
			function  user2(){
				this.run=function(){
					alert("我是user2中跑的方法");
				}
			}
			user.prototype=new user2();
			//创建对象
			var  us =new  user(12);
			us.look="看雾霾";//js中对象的使用比较灵活
			//alert(us.name+"<---->"+us.age+"<---->"+us.sex+"<====>"+us.look);
			us.run();
		</script>
	</head>
	<body>
	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值