2011-10-07 111 views
0

對於http://jsfiddle.net/7HWxu/2/我試圖用四個按鈕覆蓋圖像循環,以便單擊一個圖像時圖像會改變。但是,點擊「1」後圖像不會改變。任何幫助不勝感激。謝謝,getelementbyid不工作

湯姆

+2

??該代碼中沒有對「getElementById()」的調用,是嗎? – Pointy

+0

很好的發現!錯誤的jsFiddle鏈接給出。對不起,問題現在更新了正確的鏈接。感謝 – Kelly

+0

,實際上沒有任何其他的ID比表1 +你使用jQuery。你爲什麼要用'document.getElementById'? –

回答

1

有與「ID」值「淡入」你的HTML沒有元素,所以函數返回null因爲它應該。包含<div>的外部具有「淡入淡出」,但不包含「id」。你可以改變<div>我猜:

<div class='fadein' id='fadein'> 
+0

謝謝更新。 「1」按鈕仍然不會覆蓋,但不知道如何工作.. http://jsfiddle.net/7HWxu/7/ – Kelly

2

的問題是,在此代碼:

<div class="fadein"> 
<img src="1.jpg"> 
<img src="2.jpg"> 
<img src="3.jpg"></div> 
<div style="position:absolute;"> 
<!-- ImageReady Slices (1.jpg) --> 
<table id="Table_01" width="251" height="61" border="0" cellpadding="0" cellspacing="0"> 
<tr> 
<td> 
<img src="/images/1_01.jpg" width="68" height="61" alt="" 
    onclick="document.getElementById('fadein').src='/1.jpg'"> 
</td> 
<td> 
<img src="/images/1_02.jpg" width="61" height="61" alt=""> 
</td> 
<td> 
<img src="/images/1_03.jpg" width="61" height="61" alt=""> 
</td> 
<td> 
<img src="/images/1_04.jpg" width="61" height="61" alt=""> 
</td> 
</tr> 
</table> 
<!-- End ImageReady Slices --> 
</div> 

你不必與ID的「淡入」任何元素。 (和具有的div元素「淡入」沒有一個有意義的src屬性。)

我注意到,你的jQuery在頁面上 - 而不是使用內聯事件處理程序,我建議你使用binddelegate來管理鏈接:

// Your original code 
$(function(){ 
    $('.fadein img:gt(0)').hide(); 
    setInterval(function(){ 
      $('.fadein :first-child'). 
          fadeOut(). 
          next('img'). 
          fadeIn(). 
          end(). 
          appendTo('.fadein'); 
    }, 6500); 

    // Addenda 
    $("#Table_01").delegate("img", "click", function(e) { 
      // Show and hide images here based on what e.target is. 
    }); 

}); 
+0

對不起,是一個痛苦的肖恩,但我怎麼能實現顯示/隱藏與e.target方法在最後一部分?非常感謝。 – Kelly

+0

@Kelly - 查看http://api.jquery.com/event.target/和jQuery Event對象的文檔http://api.jquery.com/category/events/event-object/'target'是啓動事件的元素(在這種情況下是點擊)。我們所需要做的是根據點擊哪個數字來確定我們應該顯示哪個圖像。我們可以爲我們的大圖像和數字添加一個類(例如'1_01.jpg'和'1.jpg'都有一個'slider1'類,'1_02.jpg'和'2.jpg'類有一類(例如'slider2'等)並使用'$(「。fadein img。」+ $(e.target).attr(「class」))。fadeIn()'(使用一個可怕的例子)。 –

+0

這是非常感謝。更新jsFiddle在這裏:http://jsfiddle.net/7HWxu/13/ – Kelly

相關問題