假设我在" Home"网站的页面。现在,当我点击" AboutUs"从主页本身链接,我想在"关于我们"上改变DIV元素的位置。页。但是下面的代码没有任何反应。
//HTML Code of Home page
<html>
<head></head>
<body>
<a href="AboutUs.html" onclick="NavTo();">About Us</a>
<script type="text/javascript" src="Scripts/javascript code.js"></script>
</body>
</html>
//javascript code.js
function NavTo() {
document.getElementById("OurServices").onload = function() {
alert("hello");
document.getElementById("OurServices").style.position = "fixed";
}
}
我已经把#34;警告&#34;代码,以便我知道是否在该函数内执行某些事情。但是没有显示警报,这意味着该功能没有被执行。 我在这里做错了什么?
答案 0 :(得分:3)
您需要将警报代码放在AboutUs.html文件中。
答案 1 :(得分:1)
这是因为在js文件运行时已经加载了页面。
一个好的做法是将外部js文件引用放在html文件中body标记的末尾之前。
请同时确保html格式正确,请不要将&#34; head&#34;标记到&#34; body&#34;标签
此外,您还需要删除onload事件触发器,因为事件实际上不是由onload触发,而是通过单击触发。
因此,要使您的页面正常工作,js文件应该就像:
function NavTo(){
alert("hello");
};
您的html文件应如下所示:
//HTML Code of Home page
<html>
<head></head>
<body>
<a href="AboutUs.html" onclick="NavTo();">About Us</a>
<script type="text/javascript" src="Scripts/javascript code.js"></script>
</body>
</html>
希望这可以提供帮助。
答案 2 :(得分:0)
@Peter Hearly:非常感谢答案。以下是确切的代码:
//HTML Code of Home page
<html>
<head></head>
<body>
<a href="AboutUs.html?section=OurServices">About Us</a>
<script type="text/javascript" src="Scripts/javascript code.js"></script>
</body>
</html>
//HTML Code of About Us page
<html>
<head></head>
<body onload="NavTo(document.URL);">
<script type="text/javascript" src="Scripts/javascript code.js"></script>
</body>
</html>
//javascript code.js
function NavTo() {
var eqPosition = pageURL.indexOf("="); //get the position number of "=" sign
var html_id = pageURL.substring(eqPosition+1,pageURL.length); //get the string to the right side of the "=" sign
//few lines of required code
}