学习web第四周第三天

代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			body{
				-webkit-user-select: none;
			}
			#tj{
				height: 200px;
				border: 1px solid;
			}
			#jt{
				height: 100px;
				border: 1px solid;
			}
			#b1{
				width: 300px;
				height: 300px;
				background-color: yellow;
			}
			#b2{
				width: 200px;
				height: 200px;
				background-color: red;
			}
			#b3{
				width: 150px;
				height: 150px;
				background-color: blue;
			}
			#sbyd{
				width: 500px;
				height: 500px;
				border: 1px solid;
			}
			#bo1{
				width: 100px;
				height: 100px;
				background-color: red;
				position: absolute;

			}
			#bo2{
				width: 100px;
				height: 100px;
				background-color: yellow;
				position: absolute;
				
				left:200px;
				top: 800px;

			}
			#tp{
				width: 500px;
				height: 500px;
				border: 1px solid;
			}
			#zs{
				width: 500px;
				height: 500px;
				border: 1px solid;
			}
			#bg{
				width: 500px;
				height: 200px;
				
			}
			#tnr{
				margin-top: 50px;
				width: 500px;
				height: 200px;
				
			}
		</style>
		<script type="text/javascript">
		//添加超链接
			window.onload=function(){
				var ul=document.getElementById("ul");
				var btn01=document.getElementById("btn01");
				btn01.onclick=function(){
					var li=document.createElement("li");
					li.innerHTML="<a href='javascript:;' class='link'>新建的超链接</a>";
					ul.appendChild(li);
				}
				var allA=document.getElementsByTagName("a");
				ul.onclick=function(){
					event=event||window.event;
				
				if(event.target.className=="link"){ 	
					alert("我是ul的响应事件");
				}
				if(event.target.className=="yy"){
					alert("我是yy的响应事件");
				}
				}
				
				
				//绑定事件
//				btn02.addEventListener("click",function(){
//					alert(1);
//				},false);
//				
//				btn02.addEventListener("click",function(){
//					alert(2);
//				},false);
//				
//				btn02.addEventListener("click",function(){
//					alert(3);
//				},false);
				
				bind(btn02 , "click" , function(){
					alert("123");
				});
				bind(btn02 , "click" , function(){
					alert("456");
				});
				bind(btn02 , "click" , function(){
					alert("789");
				});
				
				
//				btn02.attachEvent("onclick",function(){
//					alert("1");
//				});
//				
//				btn02.attachEvent("onclick",function(){
//					alert("2");
//				});
//				
//				btn02.attachEvent("onclick",function(){
//					alert("3");
//				}); 



				//事件传播
				var b1=document.getElementById("b1");
				var b2=document.getElementById("b2");
				var b3=document.getElementById("b3");
				bind(b1,"click",function(){
					alert("我是box1的响应函数")
					event.cancelBubble=true;
				});
				
				bind(b2,"click",function(){
					alert("我是box2的响应函数")
					event.cancelBubble=true;
				});
				
				bind(b3,"click",function(){
					alert("我是box3的响应函数")
					event.cancelBubble=true;
				});
				
				
				
				//鼠标移动
				var bo1=document.getElementById("bo1");
				var box1 = document.getElementById("box1");
				bo1.onmousedown = function(event){
					event = event || window.event;
					var ol = event.clientX - bo1.offsetLeft;
					var ot = event.clientY - bo1.offsetTop;
					
					
					
					document.onmousemove = function(event){
						event = event || window.event;
						var left = event.clientX - ol;
						var top = event.clientY - ot;
						bo1.style.left = left+"px";
						bo1.style.top = top+"px";
						
						
					};
					
					//为document绑定一个鼠标松开事件
					document.onmouseup = function(){
						//当鼠标松开时,被拖拽元素固定在当前位置	onmouseup
						//取消document的onmousemove事件
						document.onmousemove = null;
						//取消document的onmouseup事件
						document.onmouseup = null;
						bo1.releaseCapture&&bo1.releaseCapture()
					};
					return false;
				};
				//多张图片移动
				var img1 = document.getElementById("img1");
				var img2 = document.getElementById("img2");
				var img3 = document.getElementById("img3");
				
				drag(img1);
				drag(img2);
				drag(img3);
				
				//添加和删除
				
				/*
				 * 点击超链接以后,删除一个员工的信息
				 */

				//获取所有额超链接
				var allA = document.getElementsByTagName("a");

				//为每个超链接都绑定一个单击响应函数
				for(var i = 0; i < allA.length; i++) {
					allA[i].onclick = delA;
				}

				/*
				 * 添加员工的功能
				 * 	- 点击按钮以后,将员工的信息添加到表格中
				 */

				//为提交按钮绑定一个单击响应函数
				var addEmpButton = document.getElementById("addEmpButton");
				addEmpButton.onclick = function() {

					//获取用户添加的员工信息
					//获取员工的名字
					var name = document.getElementById("empName").value;
					//获取员工的email和salary
					var email = document.getElementById("email").value;
					var salary = document.getElementById("salary").value;

					//alert(name+","+email+","+salary);
					/*
					 *  <tr>
							<td>Tom</td>
							<td>tom@tom.com</td>
							<td>5000</td>
							<td><a href="javascript:;">Delete</a></td>
						</tr>
						需要将获取到的信息保存到tr中
					 */

					//创建一个tr
					var tr = document.createElement("tr");

					//创建四个td
					var nameTd = document.createElement("td");
					var emailTd = document.createElement("td");
					var salaryTd = document.createElement("td");
					var aTd = document.createElement("td");

					//创建一个a元素
					var a = document.createElement("a");

					//创建文本节点
					var nameText = document.createTextNode(name);
					var emailText = document.createTextNode(email);
					var salaryText = document.createTextNode(salary);
					var delText = document.createTextNode("Delete");

					//将文本条件到td中
					nameTd.appendChild(nameText);
					emailTd.appendChild(emailText);
					salaryTd.appendChild(salaryText);

					//向a中添加文本
					a.appendChild(delText);
					//将a添加到td中
					aTd.appendChild(a);

					//将td添加到tr中
					tr.appendChild(nameTd);
					tr.appendChild(emailTd);
					tr.appendChild(salaryTd);
					tr.appendChild(aTd);

					//向a中添加href属性
					a.href = "javascript:;";

					//为新添加的a再绑定一次单击响应函数
					a.onclick = delA;

					//获取table
					var employeeTable = document.getElementById("employeeTable");
					//获取employeeTable中的tbody
					var tbody = employeeTable.getElementsByTagName("tbody")[0];
					//将tr添加到tbodye中
					tbody.appendChild(tr);

				};

		};
			
			function bind(obj , eventStr , callback){
				if(obj.addEventListener){
					
					obj.addEventListener(eventStr , callback , false);
				}else{
					obj.attachEvent("on"+eventStr , function ction(){
						callback.call(obj);
					});
				}
			}
			
			function drag(obj){
				//当鼠标在被拖拽元素上按下时,开始拖拽  onmousedown
				obj.onmousedown = function(event){
					
					//设置box1捕获所有鼠标按下的事件
					/*
					 * setCapture()
					 * 	- 只有IE支持,但是在火狐中调用时不会报错,
					 * 		而如果使用chrome调用,会报错
					 */
					/*if(box1.setCapture){
						box1.setCapture();
					}*/
					obj.setCapture && obj.setCapture();
					
					
					event = event || window.event;
					//div的偏移量 鼠标.clentX - 元素.offsetLeft
					//div的偏移量 鼠标.clentY - 元素.offsetTop
					var ol = event.clientX - obj.offsetLeft;
					var ot = event.clientY - obj.offsetTop;
					
					
					//为document绑定一个onmousemove事件
					document.onmousemove = function(event){
						event = event || window.event;
						//当鼠标移动时被拖拽元素跟随鼠标移动 onmousemove
						//获取鼠标的坐标
						var left = event.clientX - ol;
						var top = event.clientY - ot;
						
						//修改box1的位置
						obj.style.left = left+"px";
						obj.style.top = top+"px";
						
					};
					
					//为document绑定一个鼠标松开事件
					document.onmouseup = function(){
						//当鼠标松开时,被拖拽元素固定在当前位置	onmouseup
						//取消document的onmousemove事件
						document.onmousemove = null;
						//取消document的onmouseup事件
						document.onmouseup = null;
						//当鼠标松开时,取消对事件的捕获
						obj.releaseCapture && obj.releaseCapture();
					};
					
					/*
					 * 当我们拖拽一个网页中的内容时,浏览器会默认去搜索引擎中搜索内容,
					 * 	此时会导致拖拽功能的异常,这个是浏览器提供的默认行为,
					 * 	如果不希望发生这个行为,则可以通过return false来取消默认行为
					 * 
					 * 但是这招对IE8不起作用
					 */
					return false;
					
				};
			}
			//添加删除记录练习
			function delA(){
				//点击超链接以后需要删除超链接所在的那行
				//这里我们点击那个超链接this就是谁
				//获取当前tr
				var tr=this.parentNode.parentNode;
				//获取要删除的员工的名字
				//var name = tr.getElementsByTagName("td")[0].innerHTML;
				var name=tr.children[0].innerHTML;
				//删除之前弹出一个提示框
				/*
				 * confirm()用于弹出一个带有确认和取消按钮的提示框
				 * 	需要一个字符串作为参数,该字符串将会作为提示文字显示出来
				 * 如果用户点击确认则会返回true,如果点击取消则返回false
				 */
				var flag=confirm("确认删除"+name+"吗?");
				//如果用户点击确认
				if(flag){
					//删除tr
					tr.parentNode.removeChild(tr);
				}
				/*
				 * 点击超链接以后,超链接会跳转页面,这个是超链接的默认行为,
				 * 	但是此时我们不希望出现默认行为,可以通过在响应函数的最后return 
				 false来取消默认行为
				 */
				return false;
			};
		</script>
	</head>
	<body>
		<!--
        	添加超链接
        -->
		<div id="tj">
		<button id="btn01">添加超链接</button>
		<ul id="ul" style="background-color:red ;">
			<li>
				<p>我是p元素</p>
			</li>
			<li><a href="javascript:;" class="link">超链接一</a></li>
			<li><a href="javascript:;" class="link">超链接二</a></li>
			<li><a href=" javascript:;" class="yy">超链接三</a></li>
		</ul>
		</div>
		<!--
        	监听事件
        -->
		<div id="jt">
			<button id="btn02">点我一下</button>
		</div>
		<!--
        	绑定事件
        -->
		<div id="b1">
			<div id="b2">
				<div id="b3">
				</div>
			</div>
		</div>
		<!--
        	鼠标移动
        -->
		<div id="sbyd">
			<div id="bo1"></div>
			<div id="bo2"></div>
		</div>
		
		<!--
        	多张图片
        -->
        <div id="tp">
        	<img src="img/1.jpg" id="img1" style="position: absolute;"/>
        	<img src="img/2.jpg" id="img2" style="position: absolute;"/>
        	<img src="img/3.jpg" id="img3" style="position: absolute;"/>
        </div>
        
        <!--
        	增加删除表格内容
        -->
        <div id="zs">
        	<div id="bg" align="center">
        		<table id="employeeTable" border="1px">
			<tr>
				<th>Name</th>
				<th>Email</th>
				<th>Salary</th>
				<th>&nbsp;</th>
			</tr>
			<tr>
				<td>Tom</td>
				<td>tom@tom.com</td>
				<td>5000</td>
				<td>
					<a href="javascript:;">Delete</a>
				</td>
			</tr>
			<tr>
				<td>Jerry</td>
				<td>jerry@sohu.com</td>
				<td>8000</td>
				<td>
					<a href="deleteEmp?id=002">Delete</a>
				</td>
			</tr>
			<tr>
				<td>Bob</td>
				<td>bob@tom.com</td>
				<td>10000</td>
				<td>
					<a href="deleteEmp?id=003">Delete</a>
				</td>
			</tr>
		</table>
        	</div>
        	<div id="tnr"  align="center">
        		<h4>添加新员工</h4>

			<table>
				<tr>
					<td class="word">name: </td>
					<td class="inp">
						<input type="text" name="empName" id="empName" />
					</td>
				</tr>
				<tr>
					<td class="word">email: </td>
					<td class="inp">
						<input type="text" name="email" id="email" />
					</td>
				</tr>
				<tr>
					<td class="word">salary: </td>
					<td class="inp">
						<input type="text" name="salary" id="salary" />
					</td>
				</tr>
				<tr>
					<td colspan="2" align="center">
						<button id="addEmpButton">
						Submit
					</button>
					</td>
				</tr>
			</table>
        	</div>
        </div>
	</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值