jquery选项卡的下一个上一个功能

时间:2013-04-10 13:41:40

标签: jquery jquery-ui jquery-ui-tabs jquery-tabs

我需要单击Next和Prev html按钮的jquery选项卡的Next,Previous功能。我正在使用jquery.1.9.1.jsjquery-ui-1.10.2.custom.js文件。我已经实现了以下代码,但对我不起作用。

<script language="javascript" type="text/javascript">
    $(function () {
        $("#ui-tabs").tabs();
        function GetSelectedTabIndex() {
            return $('#ui-tabs').tabs('option', 'selected');
        }

        function ShowTabs(stepNum) {
            var num = parseInt(stepNum);
            $('#ui-tabs').tabs('option', 'active', parseInt(GetSelectedTabIndex()) +  num);
        }

        $('#prev').click(function () {
            ShowTabs(-1);
        })

        $('#next').click(function () {
            ShowTabs(-1);
        })
    });
</script>

<div id="ui-tabs">
    <ul>
        <li><a href="#tabs-1">Nunc tincidunt</a></li>
        <li><a href="#tabs-2">Proin dolor</a></li>
        <li><a href="#tabs-3">Aenean lacinia</a></li>
    </ul>
    <div id="tabs-1">Tab1 content </div>
    <div id="tabs-2">Tab2 content </div>
    <div id="tabs-3">Tab3 content </div>
</div>
<a id="prev" class="button-style" href="#">Prev</a>
&nbsp;<a id="next" class="button-style" href="#">Next</a>

但是GetSelectedTabIndex返回null。实施中出了什么问题。请建议。

3 个答案:

答案 0 :(得分:1)

这对我有用:

$( "#ui-tabs" ).tabs();

 function GetSelectedTabIndex() {
        return $('#ui-tabs').tabs('option', 'selected');
 }

function ShowTabs(stepNum) {
    var num = parseInt(stepNum);
    $('#ui-tabs').tabs('option', 'active', parseInt(GetSelectedTabIndex()) + num);
}

在我看来,使用$tabs变量毫无意义,因为它是GetSelectedTabIndex函数的本地变量,并且每个函数调用只使用一次...

演示:http://jsfiddle.net/darkajax/A8ejN/

答案 1 :(得分:0)

<script src="jquery-1.5.1.min.js" type="text/javascript"></script>
<script src="jquery-ui.js" type="text/javascript"></script>
<link href="jquery-ui.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
    $(function () {
        $("#ui-tabs").tabs();
    });
    function GetSelectedTabIndex() {
        var $tabs = $('#ui-tabs').tabs();
        var selected = $tabs.tabs('option', 'selected');
        return selected;
    }

    function ShowTabs(stepNum) {
        var num = parseInt(stepNum);
        $('#ui-tabs').tabs('select', parseInt(GetSelectedTabIndex()) + num);
    }
</script>



<div id="ui-tabs">
    <ul>
        <li><a href="#tabs-1">Nunc tincidunt</a></li>
        <li><a href="#tabs-2">Proin dolor</a></li>
        <li><a href="#tabs-3">Aenean lacinia</a></li>
    </ul>
    <div id="tabs-1">
        Tab1 content
    </div>
    <div id="tabs-2" >
        Tab2 content
    </div>
    <div id="tabs-3">
        Tab3 content
    </div>
</div>

答案 2 :(得分:0)

此版本中没有jQuery UI选项卡的select方法。要使您的功能正常工作,您需要将代码更改为

var i=$('#ui-tabs').tabs( "option", "active"); //get selected tab index
$('#ui-tabs').tabs( "option", "active", i+num ); // num is your tab choise (+1,-1)

这对我有用。试试这个。