2012-05-01 18 views
0

新しいプロジェクト内でjQueryティッカーの1つを使用しています。ページはHTML5履歴API(pushStateとpopState)を使用して読み込まれます。 jQuery.getJSON()を使用してページコンテンツがロードされると、「DOMに存在しない要素!」という警告が表示されます。 - そして私はそれがコンテンツがロードされた後に動作しないので、それがティッカーコンテナ(ajax呼び出しの後に返される)を参照していると信じています。jQuery - ajax呼び出し後にDOMにティッカーを追加

私はjQuery.getJSON()のコールバック関数の中で再びティッカーをインスタンス化しようとしたが、これは問題を解決できなかった:

jQuery.getJSON(url, function(data) { 
    jQuery.each(data, function(k, v) { 
     $('#' + k + ' section').fadeOut(200, function() { 
      $(this).replaceWith($(v).hide().fadeIn(200)); 
     });    
    }); 
    $('ul#feedNews').ticker({ 
     speed: 0.10, 
     controls: true, 
     titleText: '<strong>Latest news</strong>', 
     displayType: 'reveal', 
     direction: 'ltr', 
     pauseOnItems: 3000, 
     fadeInSpeed: 600, 
     fadeOutSpeed: 300 
    }); 
}); 

解決策になるか任意のアイデアを?

答えて

1

これは、ロード時に存在する要素のみで動作するプラグインによって発生している可能性があります。私はそれがdelegateliveまたはonの委任されたバージョンを内部的に使用しないと思います。

あなたのオプションは、動的コンテンツで動作するプラグインを見つけるか、このプラグインソースを修正して上記の方法のいずれかを使用することです。

+0

ありがとうRory - livequery()というプラグインが見つかりました:https://github.com/brandonaaron/livequery/downloads、これは仕事をしているようです。 – user398341

関連する問題