2010-08-16 90 views
0

我已經使用Javascript製作了一個簡單的幻燈片放映,但現在我想在它們滑過時添加圖像鏈接,以便在單獨的窗口中打開pdf。誰能告訴我如何做到這一點?這是我迄今爲止的腳本。謝謝!朱莉婭使用javascript將超鏈接添加到幻燈片中

   var dimages=new Array(); 
    var numImages=3; 
    for (i=0; i<numImages; i++) 
    { 
     dimages[i]=new Image(); 
     dimages[i].src="images/image"+(i+1)+".jpg"; 
    } 
    var curImage=-1; 

    function swapPicture() 
    { 
     if (document.images) 
     { 
     var nextImage=curImage+1; 
     if (nextImage>=numImages) 
      nextImage=0; 
     if (dimages[nextImage] && dimages[nextImage].complete) 
     { 
      var target=0; 
      if (document.images.myImage) 
      target=document.images.myImage; 
      if (document.all && document.getElementById("myImage")) 
      target=document.getElementById("myImage"); 

      // make sure target is valid. It might not be valid 
      // if the page has not finished loading 
      if (target) 
      { 
      target.src=dimages[nextImage].src; 
      curImage=nextImage; 
      } 

      setTimeout("swapPicture()", 5000); 

     } 
     else 
     { 
      setTimeout("swapPicture()", 500); 
     } 
     } 
    } 

    setTimeout("swapPicture()", 5000); 
+1

你好,歡迎堆棧溢出!不要將一個字符串提供給'setTimeout',而是一個函數。請參閱https://developer.mozilla.org/en/window.setTimeout:「不推薦使用此語法的原因與使用[eval()](https://developer.mozilla.org/en/Core_JavaScript_1)相同。 5_Reference/Global_Functions/eval#Don%27t_use_eval!)「此外,您可能希望使用['setInterval'](https://developer.mozilla.org/en/DOM/window.setInterval)。並停止使用'document.all',它是[*很*舊](http://stackoverflow.com/questions/2408424/document-all-vs-document-getelementbyid)。 – 2010-08-16 11:05:16

回答

0

我覺得你可以做的就是添加一個錨元素,你的HTML是最好的,像

<a id="imagelink"><img id="myImage" …></a> 

,並改變其href(也許它title)改變圖像時:

// make sure target is valid. It might not be valid 
// if the page has not finished loading 
if (target) 
{ 
    target.src=dimages[nextImage].src; 
    targetlink = document.getElementById("imagelink"); 
    targetlink.href = add-link-here; 
    targetlink.title = "title message"; 
    curImage=nextImage; 
} 

另外,您正在測試兩次存在myImage。首先在這裏:

if (document.all && document.getElementById("myImage")) 

然後在這裏:

target=document.getElementById("myImage"); 
… 
if (target) 
相關問題