2011-02-08 15 views
1

Jquery Cycle Plugingに問題があります。Jquery Cycle Plugin - Ajax画像のロードに関する大きな問題

私はギャラリーの画像をAjax経由でdinamicallyロードします。

ギャラリーの次または前のボタンをクリックすると、シーケンスが正しく機能しません。

時には、クラスactiveSlideは要素を変更しないか、ギャラリーの要素が欠けていることがあります。

ページを更新すると正しく動作します。

私はajax呼び出しを行い、ギャラリー内の画像を変更すると、私はそれを再宣言する前後にプラグインを破棄します。

IF全自動オートライディングのタイムアウトを正しく設定しました。

私はコードを掲載します。

誰かが私を助けることができますか?それは私が解決策を見つけることを試みる3日です:(((((((

はあなたのDavideありがとう

これは私のコードです:。。

success: function(data){ 

    $('#imgcaption').cycle('destroy');//Before load data I destroy the gallery 

    $('#dettaglio #imgcaption').empty();//I clean the div's 
    $('#dettaglio #nav').empty(); 

      //I insert the new Images 
      $.each(data.foto, function(index, value){ 
      $('#imgcaption').append('<div><img src="' + value + '" alt="" /></div>');   
    }); 

      //I redeclare the Cycle 
    $('#imgcaption').cycle({ 
     timeout: 0, 
     fx: 'scrollHorz', 
     speed: 500, 
     pager: '#nav', 
     pagerAnchorBuilder: function(idx, slide) { 
      return '<a href="#"></a>'; 
      } 
    }); 

答えて

0

私はこの同じ問題を抱えていたどうやらjQueryのサイクルはまだAJAXのロード後に古いDOM要素が見えるので、新しいAJAX DOMに.cycle()を適用すると、jQuery CycleはそれをAJAXの新しいDOMと削除された古いDOMの両方にバインドします"。

あなたのページネゴシエーションがすべて失敗した理由は、(具体的には、 fページのリンクは古いDOMを参照し、後のセットは新しいAJAX DOMを参照します)。

$("#imgcaption").remove(); 
$("#nav").remove(); 

I:

ので、修正はあなたの.cycleが

$(".cycleSelector").remove(); 
$(".pagerSelector").remove(); 

またはあなたの場合には( '破棄')行った後に手動サイクルに関連したDOM要素を削除することです助けることを望む!提案された解決法がないこの問題については、多くのオンラインの投稿があります。今私たちは1つ持っています。 :)

関連する問題