2013-07-02 49 views
-7

沒有什麼複雜的,真的,它只是這個代碼似乎並沒有火,因爲在「#title」格文不改變JQuery的的document.ready功能不被解僱

<script type="text/javascript"> 
    var images = $('#cofzSlider img'); 
    var count = images.length(); 
    var i = 0; 

    $(document).ready(function() { 
     if (i == count) { 
      i = 0; 
     } 
     i++; 
     images[i].addClass('active'); 
     $('#title').text("dasdas"); 
    }); 
</script> 
+3

「長度」不是函數,它是屬性;改用'var count = images.length'。 – Matt

+1

你甚至檢查過控制檯嗎? –

+1

爲什麼在頁面加載之前執行'$('#cofzSlider img')'? –

回答

2

有一對夫婦的問題。

length是屬性,而不是函數。應該是:

var count = images.length; 

addClass是一個jQuery的功能,而不是元素。應該是這樣的,以獲得jQuery對象,而不是DOM元素:

images.eq(i).addClass('active'); 

看來,你會在每次頁面是基於你有什麼加載時間越來越images[1],這是需要的?

當你正在訪問與$('#cofzSlider img'); DOM中,你要確保這也是你的$(document).ready()

PS內:你應該看到一些這樣的錯誤,如果你只是看看控制檯,當你運行它。在爲了避免這個問題而提出問題之前,您應該嘗試這樣做。

+0

[Jan's comment](http://stackoverflow.com/questions/17432284/jquery-document-ready-function-not-being-fired#comment25320791_17432284)可能會相關的。 – Matt

+0

是的,問題似乎是我不知道如何訪問數組中的對象,並且我試圖在文檔加載之前訪問數組。謝謝,這條評論修正了它。 –

1

您有多個問題:

  1. 長度是一個屬性,它不是一個功能。 var count = images.length();var count = images.length;

  2. 您遞增i你使用它,這意味着你將永遠不會得到images 0號元素,以便移動i++到年底前 改變。

  3. 爲什麼你甚至有一個i++只能調用一次?這對我來說沒有多大意義。也許我只是沒有看到它。如果要將所有圖像設置爲活動狀態,請執行以下操作:images.addClass('active');