zoukankan      html  css  js  c++  java
  • 第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 点赞`
  • 相关阅读:
    解决 “页面中文字增多,字号突然变大” 的问题
    Seajs的用法
    clientWidth、clientHeight、offsetWidth、offsetHeight以及scrollWidth、scrollHeight
    页面中文字增多,字号会突然变大
    flex的使用实例
    移动端弹窗滚动时window窗体也一起滚动的解决办法
    display:inline-block带来的问题及解决办法
    sql 整理积累
    T-SQL建索引
    php json_encode在CI框架中的使用细节
  • 原文地址:https://www.cnblogs.com/dashucoding/p/10359529.html
Copyright © 2011-2022 走看看