JavaScript综述

一、js有两种写法:

(1、)写在<script></script>标签中

(2、)写在外部文件中,通过<script  type="text/javascript"  src="  "></script>引用;

js除了函数和对象,其他的都是和htm、cssl脚本一起按顺序解析,所以一定要注意js代码的位置,只能使用该位置前面定义的元素而不能使用后面的;当然,函数和对象由于调用时才会执行,所以位置无所谓。

说明:js如遇字符串嵌套,应遵循“内双外单”原则。

二、js获取元素有很多种方法,常用的有三种方法:

(1、)document.getElementById()   获取元素唯一;

(2、)document.getElementsByClassName()  获取的为一个数组;

(3、)  document.getElementsByTagName()    获取的为一个数组。

例1、连续变色,由绿-->红-->黄-->绿-->红。。。,每一秒钟变色一次,由此得setIntseval( changecolor,1000);这个changecolor应该要实现变一次色:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			.main{
				width: 100px;
				height: 100px;
				margin: auto;
				background-color: white;
			}
		</style>
		
	</head>
	<body>
		<div class="main" id="main"></div>
		<script type="text/javascript" >
	    var i=0;
            function change(){
            	var colors=["green","red","yellow"];
			var main=document.getElementById("main");
			if(i==2){
				i=0;
			}else{
				i++;
			}
		    main.style.backgroundColor=colors[i];
			
           }
			
           setInterval(change,1000);
		
		</script>
	</body>
</html>

例2、连续变大小,由15px依次变大再重复,每一秒钟变一次,由此得setIntseval( changesize,1000);这个changesize应该要实现变一次大小:


<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<style>
		.main{
			font-size: 15px;
		}
	</style>
	<body>
		<p id="main" class="main">*</p>
		<script>
			var main=document.getElementById("main");
			var i=15;
			function fun(){
				if(i==50){
				i=15;
			  }else{
				i+=5;
			  }
			   main.style.fontSize=i+"px";
			}
			
			setInterval(fun,1000);
		</script>
	</body>
</html>


例3、星星变化:即大小和颜色一块变

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			.div1{
				float: left;
			}
			.div2{
				float: left;
			}
			.div3{
				float: left;
			}
		</style>
	</head>
	<!-- xx1由小变大,由红变紫;xx2由大变小,由紫变红-->
	<body>
		<div class="div1">
		    <div class=""><p class="xx1">*</p></div>
		    <div class=""><p class="xx2">*</p></div>
		    <div class=""><p class="xx1">*</p></div>
		    <div class=""><p class="xx2">*</p></div>
		</div>
		<div class="div2">
		    <div class=""><p class="xx2">*</p></div>
		    <div class=""><p class="xx1">*</p></div>
		    <div class=""><p class="xx1">*</p></div>
		    <div class=""><p class="xx2">*</p></div>
		</div>
		<div class="div3">
		    <div class=""><p class="xx1">*</p></div>
		    <div class=""><p class="xx2">*</p></div>
		    <div class=""><p class="xx2">*</p></div>
		    <div class=""><p class="xx1">*</p></div>
		</div>
	</body>
	<script>
		var xx1=document.getElementsByClassName("xx1");//xx1
		var xx2=document.getElementsByClassName("xx2");//xx2
		var colors=["red","orangered","yellow","green","greenyellow","blue","purple"];
		var size1=15;//xx1初始大小
		var size2=50;//xx2初始大小
		var i=0;//xx1由红开始
		var j=colors.length-1;//xx2由紫开始
		function changesize(){
			if(size1==50){
				size1=15;
			}else{
				size1+=5;
			}
			for(var x=0;x<xx1.length;x++){
				xx1[x].style.fontSize=size1+"px";//由小变大
			}
			
			
			if(size2==15){
				size2=50;
			}else{
				size2-=5;
			}
			for(var x=0;x<xx1.length;x++){
			xx2[x].style.fontSize=size2+"px";//由大变小
			}
		}
		
		function changecolor(){
			if(i==colors.length-1){
				i==0;
			}else{
				i++;
			}
			for(var x=0;x<xx1.length;x++){
				xx1[x].style.color=colors[i];//由红变紫
			}
			
			if(j==0){
				j=colors.length-1;
			}else{
				j--;
			}
			for(var x=0;x<xx1.length;x++){
			xx2[x].style.color=colors[j];//由紫变红
			}
		}
		
		setInterval(changesize,500);
		setInterval(changecolor,500);
	</script>
</html>

效果:

                                                                         

例4、下雨,雨的颜色不同,速度不同,大小不同:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			.div1{
				float: left;
				margin-left: 50px;
			}
			.rain1{
				width: 2px;
				height: 40px;
				background-color: green;
				position: relative;
			}
			.rain2{
				width: 2px;
				height: 30px;
				background-color: blue;
				position: relative;
			}
		</style>
	</head>
	<body>
		<div class="div1">
			<div class="rain1"></div>
			<div class="rain1"></div>
			<div class="rain2"></div>
			<div class="rain1"></div>
			<div class="rain1"></div>
			<div class="rain2"></div>
		</div>
		<div class="div1">
			<div class="rain2"></div>
			<div class="rain2"></div>
			<div class="rain1"></div>
			<div class="rain2"></div>
			<div class="rain1"></div>
			<div class="rain2"></div>
		</div>
		<script>
			function rain1(){
				var rain1=document.getElementsByClassName("rain1");
			    for(var i=0;i<rain1.length;i++){
			    	//rain1[i].style.top = Math.min(1050, rain1[i].offsetTop + 5) + "px";
			        var top=rain1[i].style.top;
			        var top=parseInt(top);//top本身是带单位的
			        if(top>=300){
			        	top=0;
			        }else{
			        	top=rain1[i].offsetTop+5;
			        }
			        rain1[i].style.top =top+"px";
			 
			    }
			}
			
			function rain2(){
				var rain2=document.getElementsByClassName("rain2");
			    for(var i=0;i<rain2.length;i++){
			    	var top=rain2[i].style.top;
			        var top=parseInt(top);//top本身是带单位的
			        if(top>=200){
			        	top=0;
			        }else{
			        	top=rain2[i].offsetTop+5;
			        }
			        rain2[i].style.top =top+"px";
			  }
			}
			setInterval(rain1,400);
			setInterval(rain2,600);
		</script>
	</body>
</html>
效果:


                                                                         


例5、一个简单的用户注册表单:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			function check1(){
					var cusername=document.getElementById("cusername");
					var username=document.getElementById("username").value;
					if(username.length<4 || username.length>6){
						alert("4到6位之间");
						cusername.innerHTML="用户名不正确";
						return false;
					  }else{
					  	cusername.innerHTML="用户名正确";
						return true;
					  }
				}
				function check2(){
					var cpwd=document.getElementById("cpwd");
					var pwd=document.getElementById("pwd").value;
					//alert(pwd);
					if(isNaN(pwd)==true){
						alert("只能是数字");
						cpwd.innerHTML="密码不正确";
						return false;
					  }else{
					  	cpwd.innerHTML="密码正确";
						return true;
					  }
				}
				function check3(){
					var cpwd=document.getElementById("cpwd");
					var pwd=document.getElementById("pwd").value;
					var rpwd=document.getElementById("rpwd").value;
					if(pwd!=rpwd){
						alert("不相等")
					    crpwd.innerHTML="确认密码不正确";
						return false;
					  }else{
					  	crpwd.innerHTML="确认密码正确";
						return true;
					  }
				}
				function check4(){
					var cpnum=document.getElementById("cpnum");
					var pnum=document.getElementById("pnum").value;
					if(isNaN(pnum)==true){
						alert("只能是数字");
					    cpnum.innerHTML="手机号码不正确";
						return false;
					  }else{
					  	cpnum.innerHTML="手机号码正确";
						return true;
					  }
				
				}
				
				function check(){
					var a=check1();
					var b=check2();
					var c=check3();
					var d=check4();
					if(a&&b&&c&&d){
						return true;
					}else{
						return false;
					}
				}
			</script>
	</head>
	<body>
		<center>
			<h2>用户注册</h2>
			<form action="index.html"  οnsubmit="return check()">
				用户名:<input type="text" οnchange="check1()" id="username"/>
				<p id="cusername"></p><br>
				密码:<input type="password" οnchange="check2()" id="pwd"/>
				<p id="cpwd"></p><br>
				确认密码:<input type="password" οnchange="check3()" id="rpwd"/>
				<p id="crpwd"></p><br>
				手机号:<input type="text" οnchange="check4()" id="pnum"/>
				<p id="cpnum"></p><br>
				<input type="submit" value="提交" />
			</form>
			
		</center>
	</body>
</html>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

w_t_y_y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值