2012-02-29 43 views
1

我對jquery很新,我的問題是我在一個從master頁面繼承的頁面中做了jquery函數。出於某種原因,該函數完全被忽略,就好像沒有任何東西,並且頁面沒有任何腳本加載。不能進入jquery函數

我需要在頁面加載代碼後面做些什麼嗎?在下面我展示了這個功能;

<script type="text/javascript"> 
    var index = 0; 
    var images = [ 
     'child.jpg', 
     'girl.gif', 
     'sponsor.jpg' 
    ]; 

    $('#Image1').attr('src', 'Resources/ChildrenImages/' + images[0]); 

    setInterval(change_image, 5000); 

    function change_image() { 
     index++; 
     if (index >= images.length) 
      index = 0; 
     $('#Image1').attr('src', 'Resources/ChildrenImages/' + images[index]); 
    } 
</script> 
+0

在哪裏這個腳本位於?在''? – 2012-02-29 11:49:25

+0

該腳本在內容佔位符中完成。 – 2012-02-29 11:49:56

+0

我在主頁的頭部做了一個內容佔位符,並且這個頁面繼承了主頁面 – 2012-02-29 11:50:54

回答

3

首先要做的事情是前的DOM準備事件,因此

<script type="text/javascript"> 
    var index = 0; 
    var images = [ 
     'child.jpg', 
     'girl.gif', 
     'sponsor.jpg' 
    ]; 

$(function(){ // added this line 

    $('#Image1').attr('src', 'Resources/ChildrenImages/' + images[0]); 

    setInterval(change_image, 5000); 

     function change_image() { 
       index++; 
      if (index >= images.length) index = 0; 

      $('#Image1').attr('src', 'Resources/ChildrenImages/' + images[index]); 

    } 

}); // and this one 
</script> 

第二件事是確保jQuery庫包含在頁面後運行jQuery代碼上面的代碼

+0

它的工作原理非常完美。非常感謝你的幫助! – 2012-02-29 11:54:27

1

也許腳本正在DOM完成加載之前執行。嘗試用現成的文檔周圍代碼:

<script type="text/javascript"> 
    $(document).ready(function() { 
     /* your code as you posted */ 
    }); 
</script> 

請參閱該文檔的解釋,你需要這樣的:http://api.jquery.com/ready/

0

嘗試執行你的腳本後DOM準備就緒:

<script type="text/javascript"> 
    $(document).ready(function() { 
     var index = 0; 
     var images = ['child.jpg', 'girl.gif', 'sponsor.jpg']; 

     $('#Image1').attr('src', 'Resources/ChildrenImages/' + images[0]); 
     setInterval(change_image, 5000); 

     function change_image() { 
      index++; 
      if (index >= images.length) index = 0; 
      $('#Image1').attr('src', 'Resources/ChildrenImages/' + images[index]); 
     } 
    }); 
</script>