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 插件和 jquery 选项卡将选项卡包含在幻灯片中。这是不可能的,还是我在某处犯了错误?也许缺少一个 ; 或者其他的东西?

我是 jquery/script 的新手,所以我不知道出了什么问题。

谢谢

4

2 回答 2

0

我认为最后});应该是})();

但我可能会将它与自动执行的匿名函数混淆

于 2012-04-24T00:52:47.617 回答
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 回答