我有一个标签很少的页面。 我正在寻找一种方法,如果你选择tab 5和cookie = 1,那么显示tab6否则显示tab5。
标签的代码是:
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则显示tab6。 如果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>
我希望你们能帮助我。 非常感谢&amp;问候, rallyboy。
答案 0 :(得分:1)
jQuery(".tabs a").click(function () {
alreadyClosed = $.cookie(stateCookieName);
stringref = jQuery(this).attr("href").split('#')[1];
if(alreadyClosed == 1)
{
newstring = stringref;
if(stringref == "5")
{
newstring = "6";
}
elseif(stringref == "6")
{
newstring = "5";
}
stringref = newstring;
}
jQuery('.tab_content:not(#' + stringref + ')').hide();
jQuery('.tab_content#' + stringref).fadeIn();
return false;
});
这个额外的代码会快速检查 - 如果设置了cookie,它会切换5到6或6到5.然后它会正常进行。
对于标签5和标签6,您是否需要比此更通用的解决方案?如果是这样,你能否列出一些关于它应该如何运作的规则?
答案 1 :(得分:0)
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;
});
答案 2 :(得分:0)
经过这么久,我终于找到了它。我用这个替换了这个点击功能:
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;
});