第85节:Java中的JavaScript

标题图

第85节:Java中的JavaScript

复习一下css:

选择器的格式:

元素选择器:元素的名称{}
类选择器:. 开头
ID选择器:# ID选择器

后代选择器: 选择器1 选择器2
子元素选择器:选择器1 > 选择器2
选择器分组: 选择器1,选择器2,选择器3{}
属性选择器:选择器[属性名称='属性值']

盒子模型:

内边距:盒子内的距离
边框:盒子的边框
外边距: 盒子和盒子之间的距离

轮播图

自动播放:每隔3秒切换,切换图片,

// 点击弹框
// 确定事件,点击事件
// 通过事件定义函数
// 在函数里定义操作页面元素,做一些交互的操作
<script>
 function d(){
  // alert("点击了");
  // 获取div
  var div = document.getElementById("div1");
  div.innerHTML = "<font color='red'> 内容 </font>";
 }
</script>

<body>
 <input type="button value="点我" onclick="d()"/>
 <div id = "div1">
  这里是达叔小生
 </div>
</body>
// 点击切换图片
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			function changeImg(){
//				alert("要切换了")
				var img = document.getElementById("img1");
				img.src = "../img/1.gif";
			}
		</script>
	</head>
	<body>
		<input type="button" value="点击切换图片" onclick="changeImg()" />
		<br />
		<img src="../img/333.jpg" id="img1" />
	</body>
</html>

setTimeout(): 在指定的毫秒数后调用函数
setInterval(): 按照指定的周期来调用函数
scrollTo(): 把内容滚动到指定的坐标
scrollBy(): 按照指定的像素值来滚动内容
resizeTo(): 把窗口的大小调整到指定的宽度和高度
resizesBy(): 按照指定的像素调整窗口的大小
prompt(): 显示可提示用户输入的对话框
open(): 打开一个新的浏览器窗口
moveTo(): 把窗口的左上角移动到一个指定的坐标
moveBy(): 可相对窗口的当前坐标把它移动指定的像素
focus(): 把键盘焦点给予一个窗口

setInterval()方法按照指定的周期来调用函数,方法会不停地调用函数,直到clearInterval()被调用或者窗口被关闭,

<html>
<body>

<input type="text" id="clock" size="20"/>

<script language=javascript>
var int = self.setInterval("clock()", 50)
function clock(){
 var t = new Date()
 document.getElementById("clock").value
}
</script>

<button onclick="int=window.clearInterval(int)">
stop</button>
</body>
</html>

定时器

// 技术分析
function test(){
 console.log("调用了");
}
// setInterval("test()", 2000); 
这个函数会循环,定时2秒后,这个函数会重新被调用,一直循环。
// setTimeout("test()", 2000);
这个函数被用了,就不再执行了

取消操作,alert()显示一段消息,blur()把键盘焦点从顶层窗口移开,clearInterval()取消由setInterval()设置的timeoutclearTimeout()取消由setTimeout()方法设置的timeout

setIntervale()

参数:
mode 参数为要调用的函数,或是执行代码串
millisec 参数为调用code之间的时间间隔
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			function test(){
				console.log("setInterval");
			}
//			setInterval("test()",2000);
//			setTimeout("test()",2000);
			var timerID;
			function startDinshiqi(){
//				timerID = setInterval("test()",2000);
				timerID = setTimeout("test()",3000);
			}
			
			function stopDingshiqi(){
//				clearInterval(timerID);
				clearTimeout(timerID);
			}
			
		</script>
	</head>
	<body>
		<input type="button" value="开启定时器" onclick="startDinshiqi()" /><br />
		<input type="button" value="取消定时器" onclick="stopDingshiqi()"/><br />
	</body>
</html>

图片自动轮播:

// 会被显示在状态栏
<html>
<head>
<script type="text/javascript">
function load(){
 window.status = "Page"
}
</script>
</head>
<body onload="load()">
</body>
</html>

文件加载完成事件onload,事件触发

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			var index = 0;
			
			function changeImg(){
				
				var img = document.getElementById("img1");
				
				//当前要切换到第几张图片
				var curIndex = index%3 + 1; 
				img.src="../img/"+curIndex+".jpg"; 
				//每切换完,索引加1
				index = index + 1;
			}
			
			function init(){
				setInterval("changeImg()",1000);
			}
			
		</script>
	</head>
	<body onload="init()">
		<img src="../img/1.jpg" width="100%" id="img1"/>
	</body>
</html>

显示和隐藏

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
//			var img = document.getElementById("img1");
			
			function hideImg(){
				var img = document.getElementById("img1");
				img.style.display = "none";
			}
			
			function showImg(){
				var img = document.getElementById("img1");
				img.style.display = "block";
			}
		</script>
	</head>
	<body>
		<input type="button" value="显示" onclick="showImg()" />
		<input type="button" value="隐藏" onclick="hideImg()" /><br />
		
		<img src="../img/1.gif" id="img1" />
		
		
	</body>
</html>

setInterval:每隔多少毫秒执行一次
setTimeout:多少毫秒后执行一次
clearIntervalclearTimeout
img.style.display=blockimg.style.display=none

定时广告:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
		
			function init(){
				setTimeout("showAD()",3000);
			}
			
			function showAD(){
				//获取要操作的img
				var img = document.getElementById("img1");
				//显示广告
				img.style.display = "block";
				
				//再开启定时器,关闭广告
				setTimeout("hideAD()",3000);
			}
			
			function hideAD(){
				//获取要操作的img
				var img = document.getElementById("img1");
				//隐藏广告
				img.style.display = "none";
			}
		</script>
	</head>
	<body onload="init()">
		<img id="img1" src="../img/555.jpg" width="100%" style="display: none;"/>
	</body>
</html>

表单效果

onblur 元素失去焦点
onchange 域的内容被改变
onfocus 元素获取焦点
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<!--
			引入外部的js文件
		-->
		<script type="text/javascript" src="../js/regutils.js" ></script>
		<script>

			function showTips(spanID,msg){
				var span = document.getElementById(spanID);
				span.innerHTML = msg;
			}

			function checkUsername(){

				var uValue = document.getElementById("username").value;
				var span = document.getElementById("span_username");
				if(uValue.length < 6){
					span.innerHTML = "<font color='red' size='2'>太短</font>";
					return false;
				}else{
					span.innerHTML = "<font color='red' size='2'>可用</font>";
					return true;
				}
			}
			
			/*
			 密码校验
			 */
			function checkPassword(){
				var uPass = document.getElementById("password").value;
				var span = document.getElementById("span_password");

				if(uPass.length < 6){
					span.innerHTML = "<font color='red' size='2'>太短</font>";
					return false;
				}else{
					span.innerHTML = "<font color='red' size='2'>够用</font>";
					return true;
				}
			}
			
			/*
			 确认密码校验
			 * */
			function checkRePassword(){
				var uPass = document.getElementById("password").value;
				var uRePass = document.getElementById("repassword").value;
				var span = document.getElementById("span_repassword");
				if(uPass != uRePass){
					span.innerHTML = "<font color='red' size='2'>两次密码不一致</font>";
					return false;
				}else{
					span.innerHTML = "";
					return true;
				}
			}
			
			/*
			 校验邮箱
			 * */
			function checkMail(){
				var umail = document.getElementById("email").value;
				var flag = checkEmail(umail);
				var span = document.getElementById("span_email");
				//对邮箱输入进行校验
				if(flag){
					span.innerHTML = "<font color='red' size='2'>可用</font>";
					return true;
				}else{
					span.innerHTML = "<font color='red' size='2'>邮箱格式貌似有问题</font>";
					return false;
				}
			}
			
			function checkForm(){
				var flag = checkUsername() && checkPassword() && checkRePassword() && checkMail();
				return flag;
			}
			
		</script>
	</head>
	<body>
		<form action="../555.html" onsubmit="return checkForm()" >
			用户名:<input type="text" id="username" onfocus="showTips('span_username','用户名长度不能小于6')" onblur="checkUsername()" onkeyup="checkUsername()" /><span id="span_username"></span><br />
			密码:<input type="password" id="password" onfocus="showTips('span_password','密码长度不能小于6')" onblur="checkPassword()" onkeyup="checkPassword()"/><span id="span_password"></span><br />
			确认密码:<input type="password" id="repassword" onfocus="showTips('span_repassword','两次密码必须一致')" onblur="checkRePassword()" onkeyup="checkRePassword()" /><span id="span_repassword"></span><br />
			邮箱:<input type="text" id="email" onfocus="showTips('span_email','邮箱格式必须正确')" onblur="checkMail()" /><span id="span_email"></span><br />
			手机号:<input type="text" id="text" /><br />
			
			<input type="submit" value="提交" />
		</form>
	</body>
</html>

表单提交规则

https://github.com/huangguangda/Tools/blob/master/regutils.js

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			
			function showTips(spanID,msg){
				var span = document.getElementById(spanID);
				span.innerHTML = msg;
			}
			
			function checkUsername(){

				var uValue = document.getElementById("username").value;
				var span = document.getElementById("span_username");
				if(uValue.length < 6){
					span.innerHTML = "太短啦!"
					return false;
				}else{
					span.innerHTML = "够用!"
					return true;
				}
			}
			
			function checkForm(){
				var flag = checkUsername();
				return flag;
			}
			
		</script>
	</head>
	<body>
		<form action="../555.html" onsubmit="return checkForm()">
			用户名:<input type="text" id="username" onblur="checkUsername()"  onfocus="showTips('span_username','用户名长度不能小于6位')" /><span id="span_username"></span> <br />
			<input type="submit" value="注册" />
		</form>
			
	</body>
</html>

引入文件

<script src="js文件路径" type="text/javascript" />
ondblclick: 当用户双击某个对象时调用的事件
onerrror: 在加载文档或图像时发生错误
onfocus: 元素获得焦点
onkeydown: 某个键盘按键被按下
onkeypress: 某个键盘按键被按下并松开
onkeyup: 某个键盘按键被松开
onload: 一张页面或一副图像完成加载
onmousedown: 鼠标按钮被按下
onmousemove: 鼠标被移动
onmouseout: 鼠标从某元素移开
onmouseover: 鼠标移到某元素之上
onmouseup: 鼠标按键被松开

表格隔行颜色

<tr>
 <td>
  <input type="checkbox"/>
 </td>
 <td><a href="#">修改</a> | <a href="#">删除</a></td>
</tr>
<tr bgcolor="red">
</tr>

<body onload="init()">
<table border="1px" width="600px" id="tab">

function init(){
 var tab = document.getElementById("tab");
}
table对象

table对象代表一个html表格,<table>标签
cells[] 返回包含表格中所有单元格的一个数组
// 所有单元格
rows[] 返回包含表格中所有行的一个数组
tBodies[] 返回包含表格中所有tbody的一个数组

代码

表格全选和全不选

getElementById()方法
getElementById()方法返回带有指定ID的元素
var element = document.getElementById("tag");
appendChild(node): 插入新的子节点
removeChild(node):删除子节点
innerHTML: 节点元素的文本值
parentNode:节点的父节点
childNodes:节点元素的子节点
attributes:节点的属性节点
getElementById(): 返回带有指定ID的元素
getElementsByTagName(): 返回包含带有指定标签名称的所有元素的节点列表
getElementsByClassName(): 返回包含带有指定类名的所有元素的节点列表
appendChild(): 把新的子节点添加到指定节点
removeChild(): 删除子节点
replaceChild():替换子节点
insertBefore(): 在指定子节点前面插入新的子节点
createAttribute(): 创建属性节点
createElement(): 创建元素节点
createTextNode(): 创建文本节点
getAttribute(): 返回指定的属性值
setAttribute(): 把指定属性设置值

效果

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<img src="../img.gif" />
		<p>文本</p>
	</body>
</html>

省市联动

<select>
 <option></option>
 <option></option>
 <option></option>
</select>

DOM:

Document Object Model
HTML DOM定义了访问和操作的html文档的标准
DOM是标准,定义了访问html和xml文档的标准
DOM是 
Document Object Model 文档对象模型的缩写
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			
			function dianwo(){
				var div = document.getElementById("div1");
				//创建元素节点
				var p = document.createElement("p");  // <p></p>
				//创建文本节点
				var textNode = document.createTextNode("文本内容");//  文本内容
				
				//将p 和文本内容关联起来
				p.appendChild(textNode);  //  <p>文本</p> 
				
				//将P添加到目标div中
				div.appendChild(p);
			}
			
		</script>
	</head>
	<body>
		<input type="button" value="点我" onclick="dianwo()" />
		
		<div id="div1">
			
		</div>
	</body>
</html>

选择城市

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>

			var provinces = [
				["深圳市","东莞市","惠州市","广州市"],
				["长沙市","岳阳市","株洲市","湘潭市"],
				["厦门市","福州市","漳州市","泉州市"]
			];

			function selectProvince(){
				var province = document.getElementById("province");
				//得到当前选中的是哪个省份
				//alert(province.value);
				var value = province.value;
				//从数组中取出对应的城市信息
				var cities = provinces[value];
				var citySelect = document.getElementById("city");
				//清空select中的option
				citySelect.options.length = 0;
				
				for (var i=0; i < cities.length; i++) {
					var cityText = cities[i]; 
					var option1 = document.createElement("option");
					//创建城市文本节点
					var textNode = document.createTextNode(cityText) ;
					
					//将option节点和文本内容关联起来
					option1.appendChild(textNode); 
//					添加到城市select中
					citySelect.appendChild(option1);
				}
				
			}
			
		</script>
	</head>
	<body>
		<!--选择省份-->
		<select onchange="selectProvince()" id="province">
			<option value="-1">--请选择--</option>
			<option value="0">广东省</option>
			<option value="1">湖南省</option>
			<option value="2">福建省</option>
		</select>
		<!--选择城市-->
		<select id="city"></select>
	</body>
</html>

案例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			function selectOne(){
				var leftSelect = document.getElementById("leftSelect");
				var options = leftSelect.options;
				
				//找到右侧的Select
				var rightSelect = document.getElementById("rightSelect");
				//遍历找出被选中的option
				for(var i=0; i < options.length; i++){
					var option1 = options[i];
					if(option1.selected){
		//				将选中的元素添加到右边的Select中就可以
						rightSelect.appendChild(option1);
					}
				}
			}
			
			//将左边所有的商品移动到右边
			function selectAll(){
//				获取左边Select中被选中的元素
				var leftSelect = document.getElementById("leftSelect");
				var options = leftSelect.options;
				
				//找到右侧的Select
				var rightSelect = document.getElementById("rightSelect");
				//遍历找出被选中的option
				for(var i=options.length - 1; i >=0; i--){
					var option1 = options[i];
					rightSelect.appendChild(option1);
				}
			}
			
			
			
		</script>
	</head>
	<body>
		
		<table border="1px" width="400px">
			<tr>
				<td>分类名称</td>
				<td><input type="text" value="手机数码"/></td>
			</tr>
			<tr>
				<td>分类描述</td>
				<td><input type="text" value="手机数码"/></td>
			</tr>
			<tr>
				<td>分类商品</td>
				<td>
					<!--左边-->
					<div style="float: left;">
						已有商品<br />
						<select multiple="multiple" id="leftSelect" ondblclick="selectOne()">
							<option></option>
							<option></option>
							<option></option>
							<option></option>
						</select>
						<br />
						<a href="#" onclick="selectOne()"> &gt;&gt; </a> <br />
						<a href="#" onclick="selectAll()"> &gt;&gt;&gt; </a>
					</div>
					<!--右边-->
					<div style="float: right;"> 
						未有商品<br />
						<select multiple="multiple" id="rightSelect">
							<option></option>
							<option></option>
							<option></option>
							<option></option>
						</select>
						<br />
						<a href="#"> &lt;&lt; </a> <br />
						<a href="#"> &lt;&lt;&lt; </a>
					</div>
				</td>
			</tr>
			<tr>
				<td colspan="2">
					<input type="submit" value="提交"/>
				</td>
			</tr>
		</table>
		
		
	</body>
</html>

结言

好了,欢迎在留言区留言,与大家分享你的经验和心得。

感谢你学习今天的内容,如果你觉得这篇文章对你有帮助的话,也欢迎把它分享给更多的朋友,感谢。

达叔小生:往后余生,唯独有你
You and me, we are family !
90后帅气小伙,良好的开发习惯;独立思考的能力;主动并且善于沟通
简书博客: 达叔小生
https://www.jianshu.com/u/c785ece603d1

结语

  • 下面我将继续对 其他知识 深入讲解 ,有兴趣可以继续关注
  • 小礼物走一走 or 点赞`
posted @ 2019-02-10 16:44  达达前端  阅读(357)  评论(0编辑  收藏  举报