<!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); 
}  

解决方案 »

  1.   

    <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混淆加密