jQuery切换Bug

时间:2010-06-25 09:08:06

标签: jquery

我使用以下代码在页面上切换一些内容。问题是,如果用户点击太快,则会打开多个面板并保留在页面上。我猜这是因为我使用的是click()而不是toggle(),但为了完全控制动画,我选择了点击功能。有办法解决这个问题吗?感谢。

编辑:我发现的另一个错误是,在页面加载时,第一个面板逐渐消失,然后由于代码末尾的.filter(':first').click();而再次返回,但这用于获取活动状态第一个小组。任何替代方案?

jQuery(document).ready(function()
                {
                    var tabContainers = $('div.feature > div');
                    tabContainers.hide().filter(':first').show();
                    $('div.feature ul.feature-nav li a').click(function ()
                    {
                        var ref = this;
                        tabContainers.filter(':visible').fadeOut(500, function()
                        {
                            tabContainers.filter(ref.hash).fadeIn(500);
                        });

                        $('div.feature ul.feature-nav li a').removeClass('selected');
                        $(this).addClass('selected');

                        return false;

                    }).filter(':first').click();
                });

2 个答案:

答案 0 :(得分:0)

错误2 - 您需要先使用css或jquery隐藏元素

答案 1 :(得分:0)

找出在单击时将元素定义为活动的内容,默认情况下在html代码中将其置于此状态,而不是当前正在执行此操作的方式。

e.g。如果活动状态是a包含类selected,则将其添加到页面加载时要激活的链接。