首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery:特效完成后执行

jQuery:特效完成后执行
EN

Stack Overflow用户
提问于 2010-12-03 05:18:34
回答 4查看 2.5K关注 0票数 0

我有一个顶部导航栏,当你点击一个项目时,一个超级菜单滑下来,如果你再次点击它,超级菜单又滑了起来。

有时,我有一些元素(链接和段落)的z索引高于mengamenus,所以当megamenus滑下时,它们会出现在megamenu的顶部。我用下面的代码解决了这个问题。

然而,通过解决这个问题,出现了另一个问题,这就是我需要帮助的地方:

当超级菜单向上滑动时,元素的z索引立即变为1,因此当超级菜单重新向上滑动时,元素出现在超级菜单的顶部。

有没有一种方法可以在巨型地震结束后改变这些元素的z指数呢?

到目前为止,我的代码如下:

代码语言:javascript
复制
$('.click-menu h6 span').click(function() {
    if ($(this).hasClass('selected')) {
        $(this).removeClass('selected');
        $(this).parent().next().slideUp('fast');
        $('.generic-box a, .generic-box p').css('z-index', '1');
    } else {
        $('.click-menu h6 span').removeClass('selected');
        $(this).addClass('selected');
        $('.click-menu div').slideUp('fast');
        $(this).parent().next().slideDown('fast');
        $('.radio-btns-wrapper-wjs').slideUp('fast');
        $('.generic-box a, .generic-box p').css('z-index', '0');
    }
});

任何帮助都将不胜感激。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-12-03 05:21:12

slideUpslideDown都接受可选的回调参数,这些回调参数在动画完成后执行:

代码语言:javascript
复制
$('.click-menu h6 span').click(function(){
    if ($(this).hasClass('selected')) {
        $(this).removeClass('selected');
        $(this).parent().next().slideUp('fast', function() {
            $('.generic-box a, .generic-box p').css('z-index','1');     
        });
    } else {
        $('.click-menu h6 span').removeClass('selected');
        $(this).addClass('selected');
        $('.click-menu div').slideUp('fast');
        $(this).parent().next().slideDown('fast');
        $('.radio-btns-wrapper-wjs').slideUp('fast', function() {
            $('.generic-box a, .generic-box p').css('z-index','0');  
        });   
    }
});
票数 5
EN

Stack Overflow用户

发布于 2010-12-03 05:21:40

.slideUp()使用callback...you可以在那里的函数中运行z-index更改,如下所示:

代码语言:javascript
复制
$(this).parent().next().slideUp('fast', function() {
  $('.generic-box a, .generic-box p').css('z-index','1'); 
});
票数 1
EN

Stack Overflow用户

发布于 2010-12-03 05:22:08

您可以使用setTimeout()函数,然后检查某个类。如果该类存在,则可以使用addClass或toggleClass函数添加新的z索引。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4340021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档