Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.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
Javascript 如果cookie=1,如何按id淡入div?_Javascript_Jquery - Fatal编程技术网

Javascript 如果cookie=1,如何按id淡入div?

Javascript 如果cookie=1,如何按id淡入div?,javascript,jquery,Javascript,Jquery,我有一个带有几个标签的页面。 我正在寻找一种方法,如果您选择tab 5,cookie=1,则显示tab 6,否则显示tab 5 选项卡的代码为: jQuery(".tabs a").click(function () { stringref = jQuery(this).attr("href").split('#')[1]; jQuery('.tab_content:not(#' + stringref + ')').hide(); jQuery('.tab_conten

我有一个带有几个标签的页面。 我正在寻找一种方法,如果您选择tab 5,cookie=1,则显示tab 6,否则显示tab 5

选项卡的代码为:

jQuery(".tabs a").click(function () {
    stringref = jQuery(this).attr("href").split('#')[1];
    jQuery('.tab_content:not(#' + stringref + ')').hide();
    jQuery('.tab_content#' + stringref).fadeIn();
    return false;
});
我希望选项卡编号5(如果单击并且cookie=1)显示选项卡6。 如果cookie为1或null,则显示div5或Div6的代码为:

alreadyClosed = $.cookie(stateCookieName);

if (alreadyClosed != 1) {
    $DIV5.show();
    $DIV6.hide();
} else {
    $DIV5.hide();
    $DIV6.show();
}
如何将它们相加?我想他们应该这样说:

If tab1.click and cookie = 1 then show $div1
else tab1.click and cookie = null then show $div2
身体看起来像:

<!-- buttons -->
<ul id="boxes" class="tabs">
<li><a href="#Div5">Div 5</a></li>
<li><a href="#Div6">Div 6</a></li>
</ul>

<!-- content -->
<div class="tab_content" id="Div5">DIV 5</div>
<div class="tab_content" id="Div6">DIV 6</div>

第5组 第6组
我希望你们能帮助我。 非常感谢和问候, 拉利博伊

这个额外的代码进行快速检查-如果设置了cookie,它将切换5到6或6到5。然后一切正常


对于选项卡5和6,是否需要比此更通用的解决方案?如果是这样的话,你能为它的具体工作制定一些规则吗?

过了这么久,我终于找到了答案。我将此单击功能替换为:

jQuery(".tabs a").click(function () {
    stringref = jQuery(this).attr("href").split('#')[1];

    // Normal navigation
    if(stringref != 'div5') {
        jQuery('.tab_content:not(#' + stringref + ')').hide();
        jQuery('.tab_content#' + stringref).fadeIn();
    } else {
        // 5 is special, do further checking
        var alreadyClosed = $.cookie(stateCookieName);

        if (alreadyClosed != 1) {
            $('div5').show();
            $('div6').hide();
        } else {
            $('div5').hide();
            $('div6').show();
        }           
    }

    return false;
});
var alreadyClosed = $.cookie(stateCookieName) == '1';
jQuery('ul.tabs a').click(function () {
    var ref = jQuery(this).attr('href').split('#')[1];
    if (alreadyClosed && ref == 'Div5') {
        ref = 'Div6';
    }
    jQuery('div.tab_content:not(#' + ref + ')').hide();
    jQuery('#' + ref).fadeIn();
    return false;
});

回答得很好,先生。我正在努力解决这个问题3天了。我花了这么多时间在这上面。无论如何,当cookie设置为1时,它不会显示Tab6。我所要做的就是,如果cookie=1,我单击tab5,然后显示tab6;如果cookie=null,我单击tab5,它会显示tab5,就像现在一样。目前,如果没有cookie,它工作得很好,但当我设置cookie时,它就不工作了。如果你想快速翻阅准确的页面,请告诉我。我想问题在于你在代码上写的数字5和6。我试着用#Div5和#Div6或Div5和Div6替换它,但它不起作用。我明天会看一看,并为您解决这个问题。我敢肯定它离我们很近。你的小提琴会有帮助的。谢谢你先生帮我。过了这么久,我终于发现了。我将这个单击函数替换为:var-alreadcyclosed=$.cookie(stateCookieName)='1';jQuery('ul.tabs a')。单击(function(){var ref=jQuery(this).attr('href').split('#')[1];如果(alreadcyclosed&&ref='Div5'){ref='Div6';}jQuery('div.tab_内容:not(#ref'+ref+')))))。隐藏();jQuery('#ref'+ref.fadeIn();返回false;);谢谢你的答复,先生。似乎如果我有或没有cookie,它仍然会显示所选的选项卡。请注意,每个选项卡都有类选项卡内容。我在这里做了一个快速的调整:关于它的实际外观。再次非常感谢
var alreadyClosed = $.cookie(stateCookieName) == '1';
jQuery('ul.tabs a').click(function () {
    var ref = jQuery(this).attr('href').split('#')[1];
    if (alreadyClosed && ref == 'Div5') {
        ref = 'Div6';
    }
    jQuery('div.tab_content:not(#' + ref + ')').hide();
    jQuery('#' + ref).fadeIn();
    return false;
});