javascript - 单击时用JQuery水平滑出内容,再次单击关闭?

标签 javascript jquery html

我似乎找不到我需要的东西。无需过多解释,我基本上需要本网站右上角的“连接”社交媒体栏 - http://www.cmssquirrel.com/web_works/

我不会完全将它用于该目的,但它的工作方式与我需要我的函数执行的操作完全一样。我发现的一切似乎都是垂直菜单样式的东西。我需要在单击时水平扩展内容,并在再次单击时再次隐藏它。不太确定从哪里开始?

最佳答案

这里更多的是一个起点,而不是完美的解决方案,但它应该能让您朝着正确的方向前进。

DEMO

HTML

<div class="wrap">
    <a class="open" href="#">open</a>
    <div class="outer">
        <div class="slide">
            <a href="#">One</a>
            <a href="#">a</a>
            <a href="#">uaoeua</a>
            <a href="#">aoeue</a>
            <a href="#">aaoeeo</a>
        </div>
    </div>
</div>

jQuery

var w = 0;

$('.slide').children().each(function() {
    w += $(this).outerWidth();
});

$('.outer').width(w+5);
$('.wrap').width(w);
$('.slide').css('left', w);

$('.open').toggle(function() {
    $('.slide').stop().animate({
        left: 0
    });
    $(this).html('close');
}, function() {
    $('.slide').stop().animate({
        left: w
    });
    $(this).html('open');
});

CSS

.wrap {
    position: relative;
    left: 50px;
    top: 20px;
}
.outer {
    height: 40px;
    position: relative;
    overflow: hidden;
}
.slide {
    border-radius: 19px 19px 19px 19px;
    position: absolute;
    top: 0;
    right: 0;
    background-color: black;
    height: 40px;
}
a {
    color: gray;
    line-height: 35px;
    float: left;
    outline: none;
}
.slide a {
    float: left;
    display: block;
    padding: 0 10px;
}
.slide > :first-child {
    padding-left: 15px;
}
.slide > :last-child {
    padding-right: 45px;
}
.open {
    position: absolute;
    right: -25px;
    top: 0;
    background-color: black;
    border-radius: 19px 19px 19px 19px;
    height: 40px;
    padding: 0 15px;
    z-index: 5;
}

关于javascript - 单击时用JQuery水平滑出内容,再次单击关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9450175/

相关文章:

javascript - 为一封信生成 b2Body

javascript - jQuery 复选框选中状态更改事件

jquery - CSS 第一个子选择器不适用于大多数元素

javascript - 为什么我的 this.class 总是未使用 jQuery 过滤器定义?

javascript - 异步请求 Web 资源的特定部分

javascript - 当我选择不同的值时,如何使我的单选按钮再次变得清晰?

javascript - 当我尝试通过 rails 插入 URL 时,window.replace 方法在 js 中不起作用

jquery - jquery 中是否有内置的同步调整动画大小的方法?

javascript - 设置复选框事件定期检查

javascript - 从外部应用程序到 Spring Security 的 Ajax 身份验证