首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用动画定位问题的Jquery滑动面板

使用动画定位问题的Jquery滑动面板
EN

Stack Overflow用户
提问于 2013-03-26 05:46:59
回答 1查看 440关注 0票数 0

我正在尝试创建一个由3个列表项组成的导航面板。当单击列表项时,一组相应的链接(subnav)会滑出以显示其自身。

我在这里有一个有效的演示:http://jsfiddle.net/M8fS3/2/

在这个演示中,这项技术是有效的,但它有一点but。单击链接的次数越多,关闭按钮和(+)按钮似乎就失去了它们的位置。它们似乎失去了它们的相对定位,并且表现得好像它们相对于容器,而不是它们的父对象是绝对定位的。

我想以一种不同的方式来写这篇文章,或者看看有没有其他开发人员有更好的技术来完成同样的任务。目前我的jquery如下:

代码语言:javascript
复制
$("#serviceBox li a").on("click", function(){
        $(this).animate({
            'left' : -250
        }, {duration: 200, queue: false, easing: 'linear'});

        $(this).next(".panel").animate({
            'left' : 0
        },  {duration: 200, queue: false, easing: 'linear'});
    });

    $("a.closePanel").on("click", function(){
        $(this).parent().animate({
            'left' : 250
        },  {duration: 200, queue: false, easing: 'linear'});

        $(this).parent().prev("a").animate({
            'left' : 0
        },  {duration: 200, queue: false, easing: 'linear'});
    });

我将队列设置为false,因为我希望动画彼此同步。让我知道如果你想在这里看到HTML和CSS (这是目前的小提琴)。提前使用THanks。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-27 00:42:27

关闭和打开按钮丢失其定位的原因是因为它们继承了父容器的相对值,该值覆盖了它们的绝对定位。只需在#serviceBox li .panel a.closePanel中添加position:relative就可以解决这个问题!

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

https://stackoverflow.com/questions/15625414

复制
相关文章

相似问题

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