0

jquery uiタブから使用しているコードは次のとおりです。

<script>
    $(function(){
        // Tabs
        $('#tabs1').tabs();
        $('#tabs2').tabs();
        $('#tabs3').tabs();

        //hover states on the static widgets
        $('#dialog_link, ul#icons li').hover(function(){
            $(this).addClass('ui-state-hover');
        },function() {
            $(this).removeClass('ui-state-hover');
        });
    });
</script>

このページ: http://sekhu.net/charlie/index.php

現在、ほとんどのjquery呼び出しは機能しますが、特にこれは、他のinitのどこに配置したかによってのみ機能します。Sudo Slider jQuery Plugin と jquery タブを使用して、スライドにタブを含めています。これは不可能ですか、それともどこかでエラーを起こしましたか? おそらく ; がありません。か何か?

私はjquery/scriptを初めて使用するので、何が問題なのかわかりません。

ありがとう

4

2 に答える 2

0

JavaScriptでは、特に動的にロードされたアンカーにイベントを追加する場合は、実行する順序が重要になることがよくあります。あなたはこの順序で物事を行う必要があります:

  1. 動的AJAX呼び出しでデータを取得する

  2. データを処理し、アンカーのリストを含む可能性のある結果を表示します

  3. #2に表示されているアンカーをクリックしてホバーするなどのイベントのリスナーをインストールします。

データを表示する前にリスナーをインストールしようとすると、リスナーはリッスンしません。したがって、リスナーをdocument.ready()またはinit()関数にインストールせず、リスナーが適用される動的データをロードする関数のコールバックにインストールします。このようなもの

$.get('myUrl',function(data){         // get dynamic data
    var anchorList = myProcess(data); // create a menu from the dynamic data
    $('#myTarget').html(anchorList);  // display the menu
    $('#myTarget a').hover( ... );    //  *now* install the listeners
    $('#myTarget a').click( ... );
});
于 2012-04-24T01:24:40.860 に答える
0

最後});})();

しかし、私はそれを自己実行型の無名関数と混同しているかもしれません

于 2012-04-24T00:52:47.617 に答える