萌新看JavaScript入门书籍return false 加载两次疑问

思辰1997 2017-11-08 08:41:42
<!DOCTYPE html>
<html>
<head>
<title>Rotating Banner with Links </title>
<script src="script08.js"></script>
<link rel="stylesheet" href="script01.css">
</head>
<body>
<div class="centered">
<a href="linkPage.html"><img src= "images/banner1.gif" id="adBanner" alt="ad banner"></a>
</div>
</body>
</html>
window.onload = initBannerLink;
var thisAd = 0;

function initBannerLink() {
if (document.getElementById("adBanner").parentNode.tagName == "A") {
document.getElementById("adBanner").parentNode.onclick = newLocation;
}

rotate();
}

function newLocation() {
var adURL = new Array("negrino.com","sun.com","microsoft.com");
document.location.href = "http://www." + adURL[thisAd];
return false; //为什么不加return false 会加载url两次,两次分别是哪个语句造成的
}

function rotate() {
var adImages = new Array("images/ banner1.gif","images/banner2.gif","images/banner3.gif");
thisAd++;
if (thisAd == adImages.length) {
thisAd = 0;
}

document.getElementById("adBanner").src = adImages[thisAd];
setTimeout(rotate, 3 * 1000);
}
...全文
130 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2017-11-09
  • 打赏
  • 举报
回复
<a href="linkPage.html"><img src= "images/banner1.gif" id="adBanner" alt="ad banner"></a> document.getElementById("adBanner").parentNode.onclick = newLocation; 红色节点是a对象,添加了onclick事件,如果onclick事件不return false,就会执行href跳转,而且你的newLocation又跳转,这样浏览器就不知道应该执行哪个跳转了,会冲突,return false就阻止了href跳转,所以只执行js的跳转

Web开发学习资料推荐
javascript混淆加密

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧