【前端】JavaScript入门及实战126-130

126 Location

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset = "utf-8">
<style type="text/css">
	
</style>
<script type="text/javascript">
	/*
		Location:该对象中封装了浏览器的地址栏的信息
	*/
	window.onload = function(){
		// 获取按钮对象
		var btn = document.getElementById("btn");
		btn.onclick = function(){
			// 如果直接打印location,则可以获取到地址栏的信息(当前页面的完整路径)
			//alert(location);
					
			/*
				如果直接将location属性修改为一个完整的路径,或相对路径
				则我们页面会自动跳转到该路径,并且会生成相应的历史记录
			*/
			//location = "http://www.baidu.com";
			//location = "01.BOM.html";
					
			/*
				assign():用来跳转到其他的页面,作用和直接修改location一样
			*/
			//location.assign("http://www.baidu.com");
					
			/*
				reload():用于重新加载当前页面,作用和刷新按钮一样,
						  如果在方法中传递一个true,作为参数,则会强制清空缓存刷新页面
			*/
			//location.reload(true);
					
			/*
				replace():可以使用一个新的页面替换当前页面,调用完毕也会跳转页面
						   不会生成历史记录,不能使用回退按钮回退
			*/
			location.replace("01.BOM.html");
		};			
	};
</script>
</head>
<body>
	<button id="btn">点我一下</button>
	<h1>Location</h1>
	<input type="text" />
	<a href="01.BOM.html">去BOM</a>	
</body>
</html>

127 定时器

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset = "utf-8">
<style type="text/css">
	
</style>
<script type="text/javascript">
	window.onload = function(){
		// 获取count
		var count = document.getElementById("count");
		
		// 使count中的内容,自动切换
		/*
			JS的程序的执行速度是非常非常快的
			如果希望一段程序,可以每间隔一段时间执行一次,可以使用定时调用
		*/
		/*for(var i=0 ; i<10000 ; i++){
			  count.innerHTML = i;
			  alert("hello");
		  }*/
				
		/*
			setInterval():定时调用,可以将一个函数,每隔一段时间执行一次
				参数:1.回调函数,该函数会每隔一段时间被调用一次
				  	  2.每次调用间隔的时间,单位是毫秒
				  
				返回值:返回一个Number类型的数据
				  		这个数字用来作为定时器的唯一标识
		*/
		var num = 1;
				
		var timer = setInterval(function(){
			count.innerHTML = num++;				
			if(num == 11){
				// 关闭定时器
				clearInterval(timer);
			}
		},1000);
				
		// console.log(timer);
		
		// clearInterval()可以用来关闭一个定时器
		// 方法中需要一个定时器的标识作为参数,这样将关闭标识对应的定时器
		//clearInterval(timer);
	};
</script>
</head>
<body>
	<h1 id="count"></h1>
</body>
</html>

128 切换图片练习

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset = "utf-8">
<style type="text/css">
	
</style>
<script type="text/javascript">
	window.onload = function(){
		/*
			使图片可以自动切换
		*/
		// 获取img标签
		var img1 = document.getElementById("img1");
				
		// 创建一个数组来保存图片的路径
		var imgArr = ["img/1.jpg","img/2.jpg","img/3.jpg","img/4.jpg","img/5.jpg"];
				
		// 创建一个变量,用来保存当前图片的索引
		var index = 0;
				
		// 定义一个变量,用来保存定时器的标识
		var timer;
				
		// 为btn01绑定一个单击响应函数
		var btn01 = document.getElementById("btn01");
		btn01.onclick = function(){
			/*
				目前,我们每点击一次按钮,就会开启一个定时器,
				点击多次就会开启多个定时器,这就导致图片的切换速度过快,
				并且我们只能关闭最后一次开启的定时器
			*/
			// 在开启定时器之前,需要将当前元素上的其他定时器关闭
			clearInterval(timer);
					
			/*
				开启一个定时器,来自动切换图片
			*/
			timer = setInterval(function(){
				// 使索引自增
				index++;
				// 判断索引是否超过最大索引
				/*if(index >= imgArr.length){
					//则将index设置为0
					index = 0;
				}*/
				index %= imgArr.length;
				// 修改img1的src属性
				img1.src = imgArr[index];
			},1000);
		};
				
		// 为btn02绑定一个单击响应函数
		var btn02 = document.getElementById("btn02");
		btn02.onclick = function(){
			// 点击按钮以后,停止图片的自动切换,关闭定时器
			/*
				clearInterval()可以接收任意参数,
				如果参数是一个有效的定时器的标识,则停止对应的定时器
				如果参数不是一个有效的标识,则什么也不做
			*/
			clearInterval(timer);
		};
	};
</script>
</head>
<body>
	<img id="img1" src="img/1.jpg"/>
	<br /><br />
	<button id="btn01">开始</button>
	<button id="btn02">停止</button>
</body>
</html>

129 修改移动div练习

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset = "utf-8">
<style type="text/css">
	#box1 {
		width: 100px;
		height: 100px;
		background-color: red;
		position: absolute;
	}
</style>
<script type="text/javascript">
	// 使div可以根据不同的方向键向不同的方向移动
	/*
		按左键,div向左移
		按右键,div向右移
		。。。
	*/
	window.onload = function(){
		// 定义一个变量,来表示移动的速度
		var speed = 10;
				
		// 创建一个变量表示方向
		// 通过修改dir来影响移动的方向
		var dir = 0;
				
		// 开启一个定时器,来控制div的移动
		setInterval(function(){
			/*
				37 左
				38 上
				39 右
				40 下
			*/
			switch(dir){
				case 37:
					//alert("向左"); left值减小
					box1.style.left = box1.offsetLeft - speed + "px";
					break;
				case 39:
					//alert("向右");
					box1.style.left = box1.offsetLeft + speed + "px";
					break;
				case 38:
					//alert("向上");
					box1.style.top = box1.offsetTop - speed + "px";
					break;
				case 40:
					//alert("向下");
					box1.style.top = box1.offsetTop + speed + "px";
					break;
			}
		},30);
				
		// 为document绑定一个按键按下的事件
		document.onkeydown = function(event){
			event = event || window.event;
					
			// 当用户按了ctrl以后,速度加快
			if(event.ctrlKey){
				speed = 500;
			}else{
				speed = 10;
			}
					
			// 使dir等于按键的值
			dir = event.keyCode;
		};
				
		// 当按键松开时,div不再移动
		document.onkeyup = function(){
			// 设置方向为0
			dir = 0;
		};
	};
</script>
</head>
<body>
	<div id="box1"></div>
</body>
</html>

130 延时调用

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset = "utf-8">
<style type="text/css">
	
</style>
<script type="text/javascript">
	var num = 1;
	
	// 开启一个定时器
	/*setInterval(function(){
		console.log(num++);
	},3000);*/
			
	/*
		延时调用,
		延时调用一个函数不马上执行,而是隔一段时间以后在执行,而且只会执行一次
			 
		延时调用和定时调用的区别,定时调用会执行多次,而延时调用只会执行一次
			  
		延时调用和定时调用实际上是可以互相代替的,在开发中可以根据自己需要去选择
	*/
	var timer = setTimeout(function(){
		console.log(num++);
	},3000);
			
	// 使用clearTimeout()来关闭一个延时调用
	clearTimeout(timer);
</script>
</head>
<body>
</body>
</html>
  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值