jQuery选项卡 - 从URL直接转到特定选项卡

时间:2012-12-18 00:51:49

标签: jquery tabs

我正在使用jQuery标签实现,一切都很好,但我希望能够链接到一个URL,例如http://www.mydomain.com/tabs.html#tab2,并在页面2上自动打开页面,这是我到目前为止的地方http://jsfiddle.net/Jmx7k/

<script>
jQuery(document).ready(function() {
    jQuery('#tabs2 li a:not(:first)').addClass('inactive');
    jQuery('.container:not(:first)').hide();

    jQuery('#tabs2 li a').click(function() {
        var t = jQuery(this).attr('href');
        if (jQuery(this).hasClass('inactive')) { //added to not animate when active
            jQuery('#tabs2 li a').addClass('inactive');
            jQuery(this).removeClass('inactive');
            jQuery('.container').hide();
            jQuery(t).fadeIn('slow');
         }
    return false;
}) //end click
});​
</script>
    <div id="tabs2holder">
        <ul id="tabs2">
        <li><a href="#tab1">Test Tab 1</a></li>
        <li><a href="#tab2">Test Tab 2</a></li>
    </ul>
</div>

<div class="container" id="tab1">
    This is test content for tab1
</div>


<div class="container" id="tab2">
     This is test content for tab2
</div>

有人能指出我正确的方向添加此功能,并解释为什么它目前没有这样做?

由于

1 个答案:

答案 0 :(得分:4)

好的,如果你想用hash-part创建一个url(例如'#tab2')你可以用

获得这个值
var hash = location.hash; // hash = '#tab2'

像这样更改您的代码

jQuery(document).ready(function() {
    jQuery('#tabs2 li a:not(:first)').addClass('inactive');
    jQuery('.container:not(:first)').hide();

    jQuery('#tabs2 li a').click(function() {
        var t = jQuery(this).attr('href');
        if (jQuery(this).hasClass('inactive')) { //added to not animate when active
            jQuery('#tabs2 li a').addClass('inactive');
            jQuery(this).removeClass('inactive');
            jQuery('.container').hide();
            jQuery(t).fadeIn('slow');
        }
        return false;
    }); //end click

    if (location.hash == '#tab2') {
        // don't forget to put id-attributes to your li-elements
        jQuery('#tablink2 a').trigger('click');
    }
});​

另见:http://jsfiddle.net/Jmx7k/8/ 通过jsfiddle,hash-attribute不会影响javascript-area :-(在正常情况下尝试它。