1

load 関数を使用してページを読み込んでいます。このページには、軌道スライダーの初期化コードが含まれています (財団を使用しています)。画像は読み込まれますが、スライダーは初期化されません。

Slider.html をロードするコード

$("a#1").click( function () {
    $("#center_content").load("pages/slider.html");
});

Slider.html のコード

<div class="row">
    <div class="four columns">Welcome</div>
    <div class="eight columns" id="featured">
        <img src="images/slides/1.jpg" alt="Overflow: Hidden No More" />
        <img src="images/slides/2.jpg"  alt="HTML Captions" />
        <img src="images/slides/3.jpg" alt="and more features" />
        <img src="images/slides/1.jpg" alt="Overflow: Hidden No More" />
        <img src="images/slides/2.jpg"  alt="HTML Captions" />
        <img src="images/slides/3.jpg" alt="and more features" />
    </div>
</div>
<script type="text/javascript">
     $(document).ready(function() {
         $('#featured').orbit();
     });
</script>
4

2 に答える 2

2

これが役立つと思います。が完了したら orbit 関数をバインドloadし、slider.html ページでバインドを削除します。

$(function(){
    $("a#1").click( function () {
        $("#center_content").load("pages/slider.html",function(){
             $('#featured').orbit();
        });
    });
});
于 2012-06-14T17:53:50.077 に答える
2

ドキュメントから取得:

スクリプトの実行

サフィックスのセレクター式のない URL を使用して .load() を呼び出すと、スクリプトが削除される前にコンテンツが .html() に渡されます。これにより、スクリプト ブロックが破棄される前に実行されます。ただし、セレクター式を URL に追加して .load() を呼び出すと、DOM が更新される前にスクリプトが削除されるため、スクリプトは実行されません。

html 内にコードを含める必要がある場合は、バインドしようとしている html の後にスクリプト タグが配置されているため、$.ready() を使用する必要はないと思います。それがなくても問題なく実行されるはずです。スクリプトが load() 関数によって解釈されるときに、html がまだ挿入されていないため、コードが機能していないと思います。後で html が挿入されると、実行するコードはもうありません。

于 2012-06-14T17:57:54.657 に答える