使用jQuery和ajax制作CSS选项卡

时间:2011-07-14 22:49:47

标签: jquery html ajax

如上所述,我尝试使用提供的jQuery .ajax()函数制作Ajax选项卡。

这非常有效,我的问题只是来自锚点的href属性中的值在url中,我不知道如何使用#tabname调用我的ajax函数网址。 (我的意图是,如果有人存储了网站的链接,他会回到该选项卡的右边而不是第一个标签页。)

我很抱歉不,我不想使用jQuery-UI,因为如果我会使用它,那只会出现一个问题而且我认为这不值得。

理解:

我的标签(或锚点)类似于:<a id="main" href='#main'>Mainpage</a>

我的jquery如下所示:

$('#main').click(function(){
            loadtab("main.php");
        });

        function loadTab(pageUrl) 
        {
            //load the content into #tabcontent
            $.ajax( 
            { 
                url: pageUrl, 
                cache: false, 
                success: function(message) 
                {
                    $('#tabcontent').empty().append(message).hide().fadeIn('slow');
                } 
            }); 

编辑:

如果有人喜欢loadTab方法,这里有一个链接,我从它(不是我的) http://jetlogs.org/2008/03/17/jquery-ajax-tabs/

编辑2:

好吧,我解决了这个问题:

    //click the first tab, so that there will be shown anything
    //tabs is an array of my link ids
    $('#'+tabs[0]).click();

    //if there is a given hash, click the matching
    if(window.location.hash+"" != ""){

        var hash = window.location.hash.substr(1)+'';
        if(jQuery.inArray(hash, tabs)){
            $('#'+hash).click();
        }
    }

1 个答案:

答案 0 :(得分:1)

要根据用户在输入的网址中使用的主题标签将用户定向到特定标签,您必须使用客户端路由解决方案。使用一些特殊参数调用$ .ajax,因为您可能猜测不能解决此要求。 我建议你看看https://github.com/mtrpcic/pathjs。 这是一个基于jquery的路由解决方案,可以有效地将URL中的特定主题标签映射到特定的功能。本教程:http://stjhimy.com/posts/22-riding-the-hash-bang-with-pathjs-and-ajax-easy-twitter-like-urls可能有助于演示javascript路由的使用。