创建用于切换jQuery选项卡的Next按钮

use*_*391 19 html jquery tabs jquery-tabs

如何创建一个滚动到下一个jQuery选项卡的按钮.我想在选项卡中有一个下一个按钮,它将滚动到下一个选项卡,有点像一步一步的教程.

如何才能做到这一点?到目前为止,我的代码如下.

HTML

<div id="tabs">
    <ul>
        <li><a href="#fragment-1"><span>One</span></a></li>
        <li><a href="#fragment-2"><span>Two</span></a></li>
        <li><a href="#fragment-3"><span>Three</span></a></li>
    </ul>
    <div id="fragment-1">
        <p>First tab is active by default:</p> <a href="nexttab">Next Tab</a>
    </div>
    <div id="fragment-2">Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh</div>
    <div id="fragment-3">Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh</div>
</div>
Run Code Online (Sandbox Code Playgroud)

JS

$(document).ready(function () {
    $("#tabs").tabs();
});
Run Code Online (Sandbox Code Playgroud)

Nic*_*ver 23

您可以使用该selected选项移动,如下所示:

$(".nexttab").click(function() {
    var selected = $("#tabs").tabs("option", "selected");
    $("#tabs").tabs("option", "selected", selected + 1);
});
Run Code Online (Sandbox Code Playgroud)

只需将您的锚更改为匹配,如下所示:

<a class="nexttab" href="#">Next Tab</a>
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看演示


或者,将每个"Next Tab"链接指向特定选项卡并使用该select方法,如下所示:

<a class="nexttab" href="#fragment-2">Next Tab</a>
Run Code Online (Sandbox Code Playgroud)

然后你可以使用更短的jQuery,并移动到你想要的任何选项卡:

$(".nexttab").click(function() {
    $("#tabs").tabs("select", this.hash);
});
Run Code Online (Sandbox Code Playgroud)

这是这种方法的演示


小智 11

我发现使用UI 1.10.0时,此解决方案不再有效,因为"已选择"已弃用.以下内容适用于1.10及更早版本 -

$("#tabs").tabs();
$(".nexttab").click(function() {
    var active = $( "#tabs" ).tabs( "option", "active" );
    $( "#tabs" ).tabs( "option", "active", active + 1 );

});
Run Code Online (Sandbox Code Playgroud)