在html中使用外部javascript [基本内容]

时间:2016-02-14 09:54:14

标签: javascript html

我是javascript的新手,我写了一个简单的代码来更改 h1 标记内的一些单词。 这是我的HTML和JavaScript文件:



var element;
var words = ["Cute","Nice","Playful"];
var current = 0;
function increment () {
	current++;
	if (current === words.length) {
		current = 0;
	}
	setTimeout('changeWord()', 1000);
}

function changeWord () {
	element.innerHTML = words[current];
	setTimeout('increment()', 2000);
}

<!DOCTYPE html>
<html>
<head>
	<title>test</title>
	<script type="text/javascript" href="script.js"></script>
</head>
<body>
<h1>This dog is <span id="atribute"></span></h1>
<script type="text/javascript" href="script.js">
	element = document.getElementById("atribute");
	changeWord();
</script>
</body>
</html>
&#13;
&#13;
&#13;

问题是这件事不起作用。如果我将JS移动到HTML文档中的 script 标记中,它确实有效。那么,我该如何使用外部JS文档?

1 个答案:

答案 0 :(得分:2)

当您指定脚本文件时,您必须使用&#39; src&#39;作为源属性。除了html下面的第二个脚本,你不需要指定源代码,因为它被认为是内部脚本。所以删除它的源属性。你的新代码将是:

HTML:

<!DOCTYPE html>
<html>
<head>
    <title>test</title>
    <script type="text/javascript" src="script.js"></script>
</head>
<body>
<h1>This dog is <span id="atribute"></span></h1>
<script type="text/javascript">
    element = document.getElementById("atribute");
    changeWord();
</script>
</body>
</html>  

JavaScript:

var element;
var words = ["Cute","Nice","Playful"];
var current = 0;
function increment () {
    current++;
    if (current === words.length) {
        current = 0;
    }
    setTimeout('changeWord()', 1000);
}

function changeWord () {
    element.innerHTML = words[current];
    setTimeout('increment()', 2000);
}// JavaScript Document