Jquery后续标签没有加载ajax天气小部件

时间:2012-09-14 18:42:26

标签: jquery ajax tabs

我正在构建一个包含一个(基于cookie)选项卡部分的网站,其中包含一个AJAX天气小部件。我知道我的问题是AJAX内容仅在开始时加载,其余选项卡在单击时不会触发事件。我发现了许多解决方案,包括使用load,cache,url hrefs,id hrefs等,但在每种情况下,我都在试图实现时弄乱语法。我不确定哪种解决方案适用于我(任何/所有解决方案?)。看起来似乎很简单,但我想我已经盯着这个太久了。

这是我的标签html:

        <div id="profileTabList" class="tabs">
        <a href="#toronto">Toronto</a>
        <a href="#montreal">Montreal</a>
        <a href="#calgary">Calgary</a>
        <a href="#vancouver">Vancouver</a>
        </div>

        <div class="hr"></div>

        <div id="profileTabData" class="both">

            <div id="toronto" class="tab_content">
                <div class="left">
                <div class="ws-widget"><span class="ws-location">Toronto, Canada</span></div>
                </div>
                <div class="right">
                <div class="ws-widget"><span class="ws-location">Moscow, Russia</span></div>
                </div>
            </div>

            <div id="montreal" class="tab_content">
                <div class="left">
                <div class="ws-widget"><span class="ws-location">Montreal, Canada</span></div>
                </div>
                <div class="right">
                <div id="cbc-montreal"></div>
                </div>
            </div>

            <div id="calgary" class="tab_content">
                <div class="left">
                <div class="ws-widget"><span class="ws-location">Calgary, Canada</span></div>
                </div>
                <div class="right">
                <div id="cbc-calgary"></div>
                </div>
            </div>

            <div id="vancouver" class="tab_content">
                <div class="left">
                <div class="ws-widget"><span class="ws-location">Vancouver, Canada</span></div>
                </div>
                <div class="right">
                <div id="cbc-bc"></div>
                </div>
            </div>

        </div>

我正在使用基于cookie的jquery-tabs.js:

$(function(){

function HashTabs(){
    var Cookie = $.cookie("offices");
    var activeTab = '';
    var navIndex = '';
    $('.tab_content').hide();

    if(!Cookie){
        $(".tabs a:first").addClass("active").show();
        $(".tab_content:first").show();

    } else if (Cookie != "") {
        $('.tabs > a:eq('+ Cookie +')').addClass('active').next().show();
        activeTab = $('.tabs > a:eq('+ Cookie +')').attr("href");
        $(activeTab).fadeIn(0);
    }

    $(".tabs > a").click(function() {
        $(".tabs a").removeClass("active");
        $(this).addClass("active");
        navIndex = $('.tabs > a').index(this);
        $.cookie("offices", navIndex);
        $('.tab_content').hide();
        activeTab = $(this).attr("href");
        $(activeTab).fadeIn(0);
        return false;
    });
}

$('#profileTabList').each(function(){
    return HashTabs();
});

});

0 个答案:

没有答案