javascript基础2

通过js进行简单的表单验证

是什么

1.当表单中的用户名和密码为空的时候,不让提交。
2.当用户名和密码输入不合法时,给出警示。

为什么

缓解服务器压力,即时给出提示。

具体实现

form标签回顾

1.action表示表单内容传递的地址。
2.method表示传递的方法,“get”表示公开传递的信息,“post”表示隐藏传递的信息。

onsubmit事件

相应的js代码的开头必须是一个 return ,如果返回为true,则提交表单信息,如果返回为false则不提交表达信息。

js中函数的返回值

1.通过return关键字返回函数的值。
2.函数在执行过 return 语句后立即停止执行代码。

<body>
<form action="#" method="get" onsubmit="return check()">
用户名:<input type="text" name="userName" /><br />
密码:<input type="password" name="userPassword" /><br />
<input type="submit" value="登录" />
</form>

<script type="text/javascript">
//1 获取元素
var inputs = document.getElementsByTagName("input");
//2 操作元素
function check(){
	// 上面开始检查你要的元素中的内容,如果不符合就return fales
	for(var i=0;i<inputs.length;i++){
		if(inputs[i].value==null || inputs[i].value==""){
			alert("用户名或密码不能为空!");
			return false;
		}
	}
	// 当代码执行到return后,后面的代码不会被执行
	return true;
}
</script>
</body>

定时函数

定时函数简介

setInterval( fn,millisec )方法

可按照指定的周期(以毫秒计)来调用函数或计算表达式,循环执行多次

setTimeout( fn,millisec )方法

用于在指定的毫秒数后调用函数或计算表达式,只执示例行一次

定时清除函数
clearInterval( timer ) 方法可取消由 setInterval() 设置的 timeout
clearTimeout( timer ) 方法可取消由 setTimeout() 方法设置的 timeout

注意: 清除函数启动后,定时函数如果执行到一半,会执行完以后再停止。

应用场景

计时器和动画效果

计时器实现

<body>
<h1>0</h1>
<input type="button" value="开始" onclick="start()" />
<input type="button" value="停止" onclick="stop()" />
<input type="button" value="暂停" onclick="pause()" />


<script type="text/javascript">
// 1获取元素
var h=document.getElementsByTagName("h1")[0];
var timer=null;
// 2操作元素
function start(){
	if(timer==null){
		timer=setInterval(function(){
			var t=h.innerHTML;
				t++;
				h.innerHTML=t;
		},1);
	}
}

function stop(){
	pause();
	h.innerHTML=0;
}
function pause(){
	if(timer!=null){
		clearInterval(timer);
		timer=null;
	}
}
</script>
</body>

三张图片轮播

简介

1.加载四张图片(第一张和第四张相同),另它们并排显示。
2.只利用一张图片大小的窗口来显示图片。
3.在短时间内,多次改变图片位置来实现图片滚动效果
4.当位置移动到第四张图片时,瞬间将第一张图片移到窗口,来实现轮流播放效果。

css

1.取消默认的margin和padding。并借助margin使这个效果图居中。
2.设置好div元素的宽高,把它作为窗口,并设置为窗口内的图片才能显示。
3.利用ul和li 来容纳这些图片。

具体实现

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			*{
				margin: 0 auto;
				padding: 0;
			}
			div{
				width: 320px;
				height: 180px;
				position: relative;
				overflow: hidden;
			}
			ul{
				width: 1280px;
				height: 180px;
				position: absolute;
				top: 0;
				left: 0;
			}
			li{
				list-style-type: none;
				float: left;
				width: 320px;
				height: 180px;
				
			}
		</style>
	</head>
	<body>
		<!-- div 320x180 -->
		<!-- ul 1280x180 -->
		<div>
			<ul>
				<li><img src="img/1.jpg" width="320" height="180" /></li>
				<li><img src="img/2.jpg" width="320" height="180" /></li>
				<li><img src="img/3.jpg" width="320" height="180" /></li>
				<li><img src="img/1.jpg" width="320" height="180" /></li>
			</ul>
		</div>
		
		<script>
			var u = document.getElementsByTagName("ul")[0];
			var ps = [0,-320,-640,-960];
			var index = 0;
			u.style.left = '0px';

			setInterval(function(){
				var i = parseInt(u.style.left); 
				i=i-2;
				if(i<-960){
					i=0;
				}
				u.style.left=i+"px";
			},10);
		</script>
		
	</body>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值