Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery选项卡-通过单独的导航突出显示当前选项卡_Jquery_Tabs - Fatal编程技术网

jQuery选项卡-通过单独的导航突出显示当前选项卡

jQuery选项卡-通过单独的导航突出显示当前选项卡,jquery,tabs,Jquery,Tabs,作为一个用户,这里的第一个问题是,请在这个noob上放轻松 总之,我有一个关于jQuery选项卡的快速问题。不是UI版本,而是不同的版本。我想做的是能够从一个单独的导航区域激活一个链接,但要使所选选项卡显示为当前选项卡我正在使用的脚本如下: <script type="text/javascript"> $(document).ready(function(){ $('#tabs div').hide(); $('#tabs div:first').show(); $('#tabs

作为一个用户,这里的第一个问题是,请在这个noob上放轻松

总之,我有一个关于jQuery选项卡的快速问题。不是UI版本,而是不同的版本。我想做的是能够从一个单独的导航区域激活一个链接,但要使所选选项卡显示为当前选项卡我正在使用的脚本如下:

<script type="text/javascript">
$(document).ready(function(){
$('#tabs div').hide();
$('#tabs div:first').show();
$('#tabs ul li:first').addClass('active');

$('#tabs ul li a').click(function(){
    $('#tabs ul li').removeClass('active');
    $(this).parent().addClass('active');
    var currentTab = $(this).attr('href');
    $('#tabs div').hide();
    $(currentTab).show();
    return false;
});
$('#sitenav ul li a').click(function(){
        $('#tabs ul li').removeClass('active');
        $(this).parent('#tabs ul li a').addClass('active');
        var currentTab = $(this).attr('href');
        $('#tabs div').hide();
        $(currentTab).show();
        return false;
});
});
</script>
下面是访问此的辅助导航:

<div id="sitenav">
    <ul>
    <li class="home"><a href="/search/">Search ISU...</a></li>
    <li><a href="#tab1" title="Faculty/Staff">Faculty/Staff</a></li>
    <li><a href="#tab2" title="Student">Student</a></li>
    <li><a href="#tab3" title="Department">Department</a></li>
    <li><a href="#tab4" title="Website">Website</a></li>
    </ul>   
</div>
出于美观考虑,以下是实际选项卡区域的原始导航:

<div id="tabs">
<ul>
<li><a href="#tab1">Faculty/Staff</a></li>
<li><a href="#tab2">Student</a></li>
<li><a href="#tab3">Departments</a></li>
<li><a href="#tab4">ISU Website</a></li>
</ul>
tabs div的结束标记位于文档底部,环绕所有内容区域,工作正常…仅供参考!:

我所能做的就是让sitenav实际链接到其他区域,但就我而言,我无法让选项卡高亮显示并成为最新的。当然这是我一直忽略的小东西,但也许新的眼睛会看到它!谢谢大家!


编辑:天哪……差点忘了。这是这个东西的测试版本,有点:

那么如果你点击tab1,你想在另一个突出显示的列表上吗? 我会这样做:

$('#sitenav ul li a').click(function(){
    $('#tabs ul li').removeClass('active');
    var currentTab = $(this).attr('href');
    $('#tabs ul li a[href="'+currentTab +'"]').parent().addClass('active');
    $('#tabs div').hide();
    $(currentTab).show();
    return false;
});
如果您从另一个页面导航,该页面将从头开始呈现,因此您在最后一个页面上设置的活动选项卡或散列并不重要。如果要选择活动选项卡并显示激活的元素,则必须在加载页面时执行此操作。 因此,在这种情况下,我会确保在我的css选项卡div中有display:none;默认情况下,没有一个lis具有活动类。 你需要这样的东西:

$(document).ready(function(){
    var currentTab;
    if(window.location.hash){
       // check if this is an existing tab
        if($('#tabs ul li a[href="'+window.location.hash+'"]').length > 0){
             currentTab = window.location.hash;
        }
    }
    if(currentTab){
       //select and show the current tab
       $('#tabs ul li a[href="'+currentTab +'"]').parent().addClass('active');
       $(currentTab).show();
    } else {
       //select and show the first tab
       $('#tabs div:first').show();
       $('#tabs ul li:first').addClass('active');  
    }
});

如果我读对了,是的……如果我单击sitenav上的tab1,tab1上的tab1将高亮显示。让我试一试,然后回应。谢谢好的,从索引来看,它工作得很好,因为散列是相对于那个页面的,但是我需要做什么才能使它从另一个页面工作呢?我试过这样做:`$'tabs ul li a[href=index.htm'+currentTab+']'。parent.addClass'active';'但它不起作用…因为它没有突出显示或显示div内容。我已经编辑了答案并添加了代码,可以做你想要的。似乎不起作用。一个例子是使用“示例”上的选项卡位置,单击后突出显示的选项卡将是tab2。我一直在试图修改你的代码,但我无法使它工作。非常感谢你在这方面的帮助!