javascript - 位于内容下方的滑动面板?

标签 javascript jquery html css panels

这是对上一个问题的跟进......我得到了 Marcatectura 的帮助(再次感谢!),这是他们给我的例子:http://jsfiddle.net/rt9d5/10/embedded/result/

我决定将“li”元素更改为“div”元素,因为它更适合我的预期设计。但由于我不太精通 jquery,我在试图让我的看起来一样时做错了。 http://fiddle.jshell.net/faedince/L4L4N/ (这是我的一些代码。)

#panelOne:after {
    display: block;
    background: red;
    opacity: 0.9;
    width: 350px;
    height: 350px;
    content: "";

    -webkit-transition: -webkit-transform 500ms ease-out 0s;
    -moz-transition: -moz-transform 500ms ease-out 0s;
    -o-transition: -o-transform 500ms ease-out 0s;
    transition: transform 500ms ease-out 0s;


$( '#panelOne' ).click(function(){
    $( '#panelOne' ).removeClass( 'clicked' );
    $(this).addClass( 'clicked' );
}); 

红色封面位于白色面板下方,距离页面太远。根据示例,它们应该位于白色面板的顶部。有人可以告诉我我做错了什么吗?

最佳答案

看起来您需要将 position: absolute 添加到您的 :after 类(以及 topleft定位)。你也可以稍微简化你的 JS。与其尝试为每个可能的点击组合编写代码,不如编写可应用于所有组合的代码。

Demo Fiddle

CSS:您可以用以下代码替换所有的 :after css 调用。

.bigbox > div:after {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    display: block;
    background: red;
    opacity: 0.9;
    width: 350px;
    height: 350px;

    -webkit-transition: -webkit-transform 500ms ease-out 0s;
    -moz-transition: -moz-transform 500ms ease-out 0s;
    -o-transition: -o-transform 500ms ease-out 0s;
    transition: transform 500ms ease-out 0s;
}

JS:

$('.bigbox div').on('click', function(){
    $('.bigbox div').removeClass('clicked');
    $(this).addClass('clicked');
});

关于javascript - 位于内容下方的滑动面板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23389316/

相关文章:

javascript - 我应该如何使用 JavaScript/HTML5 处理繁重的音频负载?

javascript - 在固定宽度的 div 中缩放图像,它们之间的距离相等

jquery - 如何将 2 个 Jquery UI 日期选择器与 Knockout 链接起来?

html - 如何为 iOS Safari、Mac Safari、Edge 和 IE11 添加背景线性渐变?

javascript - 缩短/重构多个插件值的方法

javascript - 如何让 jQuery 弹出窗口要求用户登录或在未登录时进行注册?

html - 改变 html5 音频使用的 header

javascript - 在 Vegas slider 中添加上一张和下一张幻灯片的按钮

javascript - 如何为 NestJS/TypeORM 覆盖提供者

javascript - 创建一个提交表单,使用其输入来确定链接