【问题标题】:jQuery menu slide up/down div, but also slide divs inside right/leftjQuery 菜单向上/向下滑动 div,但也可以在右/左滑动 div
【发布时间】:2015-07-26 21:39:04
【问题描述】:

我希望有人可以帮助我,因为我偶然发现了一些 jquery 的问题。我想弄清楚的是:

  1. 添加“活动”类 = 这样就可以在活动时设置标签样式。
  2. 垂直向上/向下滑动 div(#information(“关于”和“联系人”的包装)。
  3. 在页面 div 之间左右水平滑动(在“关于”和“联系方式”之间)。
  4. 如果“About”或“Contact”应该是活动“页面”并显示出来,那么如果再次单击“About”链接,它应该关闭向上滑动#information 包装器。

This is what I got so far: JSFiddle

HTML:

<div id="information">
     <div id="info-about"></div>
     <div id="info-contact"></div>
</div>
<ul>
    <li><a id="about" class="page" href="#">About</a></li>
    <li><a id="contact" class="page" href="#">Contact</a></li>
</ul>

CSS:

#information {
    width: 200%;
    height: 300px;
    position: relative;
    left: 0;
    display: none;
}

#info-about {
    width: 50%;
    height: inherit;
    background: red;
    float: left;
}

#info-contact {
    width: 50%;
    height: inherit;
    background: blue;
    float: left;
}

jQuery:

$('li a').click(function(e) {
    e.preventDefault();
    $('a').removeClass('active');
    $(this).addClass('active');

    if ($(this).is('.page.active')) {
        $('#information').slideDown('slow');
    }
});

$('#about').click(function () {
    $('#information').animate({
        left: "0"
    }, 1000);
});

$('#contact').click(function () {
    $('#information').animate({
        left: "-100%"
    }, 1000);
});

如果有人能帮助我,将不胜感激。此外,我不确定,但是否可以将所有这些作为一个组合脚本而不是分成多个部分来完成?

亲切的问候,莫滕。

【问题讨论】:

    标签: jquery html css animation menu


    【解决方案1】:

    这就是你在https://jsfiddle.net/c01gat3/wa1e8oyv/之后的样子

    $('li a').click(function(e) {
        e.preventDefault();
    
        if ($(this).hasClass('active')) {
            $('#information').slideUp('slow');
            $('a').removeClass('active');
        } else {
            $('#information').slideDown('slow');
            $('a').removeClass('active');
            $(this).addClass('active');
    
            if(this.id == 'about'){
                $('#information').animate({
                left: "0"
                }, 1000);
    
            } else {
                $('#information').animate({
                left: "-100%"
                }, 1000);
            }
        }
    });
    

    【讨论】:

    • 这是我主要问题的一个附带问题,但如果您有机会也知道:如果首先单击“联系”。它在滑下之前显示“联系人”内容?因为现在它向下滑动(正确),但它首先显示“关于”内容,然后滑动到“联系人”内容。
    • 以便它显示单击菜单链接的正确内容。
    • 谢谢!太完美了!
    • 嘿,我不确定你是否应该得到答案,但我尝试使用 animate+css 函数而不是幻灯片来放入“push”函数。我遇到的问题是使用不同的两个页面向左/向右滑动。 [链接]jsfiddle.net/MSChristensen/zqup4ryv/15
    • 您之前可以创建它,但不知何故我弄坏了它:S 如果我能再次收到您的意见,将不胜感激。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多