【JavaScript】在同一个网页中实现多个JavaScript特效

时间:2022-07-29 15:08:09

在网页中,如果出现两次<script type="text/javascript"></script>标签,所有的JavaScipt脚本都不会再生效,只能出现一次<script type="text/javascript"></script>标签,但是,同一个网页中常常需要多个JavaScript特效。

本文在2014.11.10又作了修改,原因是笔者发现第二种方法

一、基本目标

在网页中挂载两个JavaScript时钟,其中一个是每1秒走一次的正常时间,另外一个是每3秒才走一次的不正常时钟,只是为了区分之后,来说明同一个网页中如何实现多个JavaScript特效。

【JavaScript】在同一个网页中实现多个JavaScript特效

二、制作过程

方法一:

<html>
<head>
<script type="text/javascript">
function clocka() {
			var time = new Date().toLocaleString();
			document.getElementById("clocka").innerHTML = time;
		}
function a(){
	clocka();
	setInterval("clocka()", 1000);
}
function clockb() {
			var time = new Date().toLocaleString();
			document.getElementById("clockb").innerHTML = time;
		}		
function b(){
	clockb();
	setInterval("clockb()", 3000);
}
</script>
</head>
<body onLoad="a(),b()">
<div id="clocka"></div>
<div id="clockb"></div>
</body>
</html>

先把要实现的那段特效的写到一个函数里,函数a(),b(),再通过body的onLoad,让其加载网页就马上去载入这段函数。

至于clocka()与clockb(),是根据原来的JavaScript代码改写过来的。原来处于<body>中那段JavaScript代码如下:

		<script type="text/javascript">
		function clock() {
			var time = new Date().toLocaleString();
			document.getElementById("clock").innerHTML = time;
		}
		setInterval("clock()", 1000);
		</script>


方法二:

就是在<script>不写入type类型,直接写type,不过这种方法有一定的延迟性,特效是一个一个加载的,如果太多特效的话,效果会不好。

但是编码的整洁性与直观性,完胜上面的方法。

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>
function clocka() {
			var time = new Date().toLocaleString();
			document.getElementById("clocka").innerHTML = time;
		}
function clockb() {
			var time = new Date().toLocaleString();
			document.getElementById("clockb").innerHTML = time;
		}	
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>twojs</title>
</head>

<body>
<script>
setInterval("clocka()", 1000);
</script>
<script>
setInterval("clockb()", 3000);
</script>
<div id="clocka"></div>
<div id="clockb"></div>
</body>
</html>