javascript - JQuery 幻灯片 Onclick

标签 javascript jquery jquery-ui

我正在使用示例 http://www.faridesign.net/2012/05/create-a-awesome-vertical-tabbed-content-area-using-css3-jquery/ 中的代码我试图在列表上单击按钮上滑动 div 标签,以便当前选项卡内容将滑入,而刚刚单击的选项卡将滑出。我目前有一个工作示例,我可以在 div 之间很好地切换,但我需要在 div 之间滑入和滑出。有没有任何脚本可以用当前代码执行此操作。使用 .slide 或 .effect 代替 .show() 看起来可以同时显示两个 div。我不确定我做错了什么。

<div id="v-nav">
<ul>
    <li tab="tab1" class="first current">Main Screen</li>
    <li tab="tab2">Div 1</li>
    <li tab="tab3">Div 2</li>
    <li tab="tab4">Div 3</li>
    <li tab="tab5">Div 4</li>
    <li tab="tab6">Div 5</li>
    <li tab="tab7">Div 6</li>
    <li tab="tab8" class="last">Div 7</li>
</ul>
<div class="tab-content">
   <h4>Main Screen</h4>
</div>
<div class="tab-content">
    <h4>Div 1</h4>
</div>
<div class="tab-content">
    <h4>Div 2</h4>
</div>
<div class="tab-content">
    <h4>Div 3</h4>    
</div>
<div class="tab-content">
    <h4>Div 4</h4>                   
</div>
<div class="tab-content">
    <h4>Div 5</h4>                   
</div>
<div class="tab-content">
    <h4>Div 6</h4>                   
</div>
    <div class="tab-content">
    <h4>Div 7</h4>  
</div>

我的脚本看起来像

$(function () {
var items = $('#v-nav>ul>li').each(function () {
    $(this).click(function () {
        //remove previous class and add it to clicked tab
        items.removeClass('current');
        $(this).addClass('current');

        //hide all content divs and show current one
        //$('#v-nav>div.tab-content').hide().eq(items.index($(this))).show();

        //$('#v-nav>div.tab-content').hide().eq(items.index($(this))).fadeIn(100);    

        $('#v-nav>div.tab-content').hide().eq(items.index($(this))).slideToggle();
        window.location.hash = $(this).attr('tab');
    });
});

if (location.hash) {
    showTab(location.hash);
}
else {
    showTab("tab1");
}

function showTab(tab) {
    $("#v-nav ul li:[tab*=" + tab + "]").click();
}

// Bind the event hashchange, using jquery-hashchange-plugin
$(window).hashchange(function () {
    showTab(location.hash.replace("#", ""));
})

// Trigger the event hashchange on page load, using jquery-hashchange-plugin
$(window).hashchange();

});

最佳答案

尝试Vertical jQuery UI Tabs 。你可能需要稍微重新设计一下,但我认为效果就是你想要的。您应该能够从 http://api.jqueryui.com/slide-effect/ 添加幻灯片效果更改选项卡事件。

关于javascript - JQuery 幻灯片 Onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13498012/

相关文章:

jquery - 将 jQuery nestedSortable 元素(正在拖动)限制在容器内?

jquery - 用ajax添加的按钮没有jQuery函数和CSS样式

javascript - 将 NodeJS 模块范围变量作为对象访问

javascript - 如何使用JavaScript子字符串检测iFrame源是否包含youtube URL?

javascript - 响应式 html 在 iframe 元素上捕获滑动手势

php - javascript代码中的数据插入到mysql数据库

Jquery 用户界面 : Animating remove class on callback of animating add class fails

javascript - 在 Chrome 扩展中抓取 DOM 值

javascript - 如何按顺序对 svg 动画进行计时?

jquery - 无法使用下拉菜单更改 View 。我能够获得下拉菜单,但单击不会更改 View