1

5 つのボタンがあるドキュメントがあります。このボタンの行の下に、プレースホルダーを生成しますdiv。ボタンをクリックすると、別のページからload()プレースホルダー a にロードするために使用します (各ボタンは HTML のチャンクをプレースホルダーにロードします)。divdiv

OK、私の問題は、プレースホルダーにロードしているチャンクがスライドショー (anythingslider) であることです。また、関連するすべての CSS と JS が既に読み込まれている別のスライドショーがメイン ページにある場合でも、それらは機能しません。

私が知る限り、使用する必要がありますgetScript()が、まだ把握していないようです。関連するスクリプトを再度リロードする必要がありますか?

よろしくお願いします - K

4

4 に答える 4

1

コールバック関数からスライダーを初期化する必要があるようです(コンテンツがロードされた後に呼び出されます)。コードは次のようになります。

$('div#placeholder1').load('content.html', function() {
  // target the loaded div, find the slider and initialize it
  $('div#placeholder1').find('ul.slider').anythingSlider({ /* options */ });
});
于 2011-04-17T07:23:04.337 に答える
0

.load()ロードされたコンテンツで使用するすべてのスクリプトで、ロードされたコンテンツで同じ問題が発生します。

script.js を上部、下部、さらにはロードされたコンテンツに配置しようとしましたが、まだ解決策はありません。

一般的にどのように修正できますか?

編集:

ちょうど答えを見つけました:

$(document).ajaxComplete(function(){
    // fire when any Ajax requests complete
})

リンク: AJAX が読み込まれたコンテンツで JQuery スクリプトを実行する

于 2011-09-07T12:51:56.757 に答える
0

これは、「jquery に依存するコンテンツ」を Web ページ ドキュメントにロードするのに役立ちました。個人的には、他のスクリプトを使用すると保守が容易になるため、関数内に保持するのが好きです。次のパターンを維持する限り、どのページでも使用できる globalSections という関数を作成しました。関数内で、「header」という ID を持つ div 要素を作成しました。次に、外部の「jquery 依存コンテンツ」を新しく作成した div にロードしました。 最後に、そのコンテンツを実行するために必要なスクリプトを取得します。

$.globalSections = function() {
  $('#wrapper').prepend('<div id="header"></div>');
  $('#header').load('/myfile.html', function() {
  $.getScript("js/jquery.scripts.js");
  });
}

次に、関数を実行します

$(function() {
  $.globalSections();
});

短くてシンプル

于 2012-01-31T17:33:06.100 に答える
0

ページに html をロードしているように聞こえますが、実行後にスライダーをインスタンス化していません。別のページから html をロードしても、別のページで実行されている JS オブジェクトは引き継がれません。

于 2011-04-13T20:24:43.623 に答える