2011-03-21 36 views
1

我有以下線包括在我的index.php的底部:jQuery的負載()之後 - HOWTO

<script type="text/javascript" language="javascript" src="class/jquery-1.4.3.min.js"> </script> 
<script type="text/javascript" language="javascript" src="class/jquery.nivo.slider.pack.js"></script> 
<script type='text/javascript' language='javascript'> 
    $(window).load(function() { 
     $('#slider').nivoSlider(); 
    }); 
</script> 

問題在於$(window).load ...
的index.php的屍體被更新通過在匹配時傳遞div#滑塊的ajax調用進行onload。這使得nivoSlider()不能執行。你有什麼竅門可以使這件事情起作用。我更喜歡非jQuery的方式,但在一天結束時,任何幫助。

千恩萬謝

WEBPAGE IS HERE

+0

這個問題從早期的崗位http://stackoverflow.com/questions/5370247/nivo-slider-loading-gif-keeps-on-and-on-莖我發現問題的根源在於讓丹尼爾提出問題並得到一個詳細的答案。 – 2011-03-21 13:08:53

回答

5

添加回調的AJAX負載呼叫。

$('.something').load('http://www.example.com/foo', function() { 
    $(this).find('#slider').nivoSlider(); 
}); 

使用您的代碼(體)例:

$(function() { // run on document ready, not window load 
    $('#content').load('page.php?c=2&limit=5', function() { 
      $(this).find('#slider').nivoSlider(); 
    }); 
}); 

對於鏈接:

<!-- updates links like so --> 
<a class='nav' href='page.php?category=art&limit=5&c=1'>art</a> 

// in the same document ready function 
    $('a.nav').click(function() { 
      var $link = $(this); 
      $('#content').load($link.attr('href'), function() { 
       $(this).find('#slider').nivoSlider(); 
       $link.addClass('selected'); // instead of setting bg directly to #828282; 
      }); 
      return false; // to prevent normal link behavior 
    }); 
+0

@tvanfosson,他沒有使用jQuery的ajax方法..(*雖然他應該*) – 2011-03-21 12:15:54

+0

如果不使用jQuery的ajax負載,我不呢?(但我可能如果你告訴我,有沒有辦法在它附近) – 2011-03-21 12:17:19

+0

你如何告訴jquery的ajax調用在特定容器中設置結果?請檢查我的身體onload調用,並給我jQuery的替代。我現在不在乎 – 2011-03-21 12:19:56

0

你不希望使用$(文件),而不是$(窗口)?

 

    $(window).load(function() { 
     $('#slider').nivoSlider(); 
    }); 

或簡寫

 

    $(function() { 
     $('#slider').nivoSlider(); 
    });