2010-03-02 49 views
1

我想將循環應用於帶有動態內容的div塊。此內容將在點擊事件後生成。一旦我點擊它正在工作的圖像後,它不工作。

代碼:

$("div.cls img").click(function() { 

    .... Adding the content 


$('#myDiv').cycle({ 
      fx: 'scrollHorz', 
      speed: 3500, 
      timeout: 0, continuous: true, 
      pause: 1, sync: 1 
     }); 
}); 

HTML:

<div id="myDiv"> 
<div> 
<a id="i1"> abc</a> 
<a id="i2"> abcd</a> 
<a id="i3"> abce</a> 
    <a id="i4"> abcf</a> 
<a id="i5"> abcg</a> 
<a id="i6"> abch</a> 
</div> 
<div> 
<a id="i11"> abc1</a> 
<a id="i21"> abcd1</a> 
<a id="i31"> abce1</a> 
    <a id="i41"> abc1f</a> 
<a id="i51"> abcg1</a> 
<a id="i61"> abch1</a> 
</div> 
</div> 
+0

請編輯您的問題與更多細節,並指出您的問題在於使用$ .cycle和*動態內容*。例如,當我回答時,我不知道你真的試圖動態加載「幻燈片」。 目前還不清楚你的例子工作正常,*直到你開始嘗試加載動態內容*。 – jnylen 2010-03-02 05:30:49

回答

0

編輯:

嘗試添加動態內容後,再打電話給$.cycle()。另外,使用Firebug來確保您的內容正確生成。

如果這不起作用,那麼它看起來像你將不得不修改循環插件,以支持動態添加「幻燈片」,或編寫自己的解決方案。


http://www.malsup.com/jquery/cycle/

它是如何工作

該插件提供了一個名爲 週期被一個容器 元件上調用的方法。 容器的每個子元素都成爲「幻燈片」。選項 控制幻燈片如何以及何時遷移到 。

所以,你可以獨自離開你的Javascript,但HTML應該是這樣的:

<div id="myDiv"> 
    <div> 
    <a id="i1"> abc</a> 
    <a id="i2"> abcd</a> 
    <a id="i3"> abce</a> 
    <a id="i4"> abcf</a> 
    <a id="i5"> abcg</a> 
    <a id="i6"> abch</a> 
    </div> 
    <div> 
    <a id="i11"> abc1</a> 
    <a id="i21"> abcd1</a> 
    <a id="i31"> abce1</a> 
    <a id="i41"> abc1f</a> 
    <a id="i51"> abcg1</a> 
    <a id="i61"> abch1</a> 
    </div> 
</div> 

而且,你永遠不應該有相同ID的頁面上有一個元素。

+0

嗨,我也試過這個選項。如果我硬編碼相同的HTML它正在工作。如果我動態添加代碼,它不起作用。 – Geeth 2010-03-02 05:24:37

+0

然後有兩種可能性:1)您錯誤地動態生成HTML。使用Firebug找出。 2)在生成HTML之前調用'$ .cycle()',它必須被稱爲AFTER。 – jnylen 2010-03-02 05:26:43