jquery - 将当前选项卡向左滑动,从右向右滑动下一个选项卡

标签 jquery css tabs slide

我尝试找到我的问题的答案,但没有成功。 例如,我找到了这个:jquery ui tabs slide left and right但它对我没有帮助。

我有一个包含三个选项卡的工作“选项卡部分”(您可以在下面查看代码)。

我想要实现的是当您按下从右侧滑入的下一个选项卡替换另一个选项卡时,使当前选项卡向左滑动(如果您在选项卡中“向后”,则相反)。

看看这个很好的例子:See this tab effect .

我的 HTML:

<ul class="tabs">
    <li class="tab-link current" data-tab="tab-1">Daniel Pettersson</li>
    <li class="tab-link" data-tab="tab-2">Scott Asli</li>
    <li class="tab-link" data-tab="tab-3">Teamet</li>
</ul>

    <div id="tab-1" class="tab-content current">
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
    </div>
    <div id="tab-2" class="tab-content">
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
    </div>
    <div id="tab-3" class="tab-content">
        Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
    </div>

CSS:

ul.tabs {
    margin: 0px;
    padding: 0px;
    list-style: none;
    background: #3b3b3b;
}
ul.tabs li {
    background: none;
    color: #b1b1b1;
    display: inline-block;
    padding: 10px 25px;
    cursor: pointer;
}
ul.tabs li.current {
    color: #fff;
    background: url('images/tab-arrow.png') no-repeat 50% 100%;
}
.tab-content {
    display: none;
    background: transparent;
    padding: 30px 0;
    height:300px;
}
.tab-content.current { display: inherit; }

还有 jQuery:

$(document).ready(function(){

    $('ul.tabs li').click(function(){
        var tab_id = $(this).attr('data-tab');

        $('ul.tabs li').removeClass('current');
        $('.tab-content').removeClass('current');

        $(this).addClass('current');
        $("#"+tab_id).addClass('current');
    })

})

我需要做什么才能实现这一目标?

非常感谢任何帮助!谢谢。

编辑:我在示例页面上找到了这段 js 代码,它具有我想要的效果:

//slide the button to the next item
function goNext() {
    if ( decount != counter) {
    $('#slider ul').animate({ left: '-=' + $('#slider').width() }, 400, 'swing', function() { });
    $('.active').removeClass('active').next().addClass('active');
    decount++;
    window.location.hash = decount;
    }
}

function goBack() {
    if ( decount != 1) {
    $('#slider ul').animate({ left: '+=' + $('#slider').width() }, 400, 'swing', function() { });
    $('.active').removeClass('active').prev().addClass('active');
    decount--;
    window.location.hash = decount;
    }
}

这会是解决方案吗?我不太擅长 jQuery,所以我不知道如何将它添加到我目前拥有的代码中......

最佳答案

我认为您正在寻找的是 jQuery animate

关于jquery - 将当前选项卡向左滑动,从右向右滑动下一个选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21075391/

相关文章:

Delphi,如何制作独立的窗口

javascript - 丰富的选项卡和嵌入的内容

单击选项卡时 jQuery UI 选项卡运行功能

jquery - 使用 jQuery 将照片边缘圆化

javascript - 与客户端一起路由 GET 请求

javascript - 我应该如何使用对象中包装的 jQuery JSON 答案进行解析?

CSS 帮助 : div:hover~div does not work for div later in code

jquery - 禁止关闭 Twitter Bootstrap 模式窗口

html - CSS将一个正方形分成4个三 Angular 形

html - 使用谷歌字体时如何获得细字体?我使用字体粗细 :thin; but it doesn't do anything