使用这段代码创建选项卡和嵌套选项卡非常有效,除非您单击其他嵌套选项卡之一,然后单击返回第一个嵌套选项卡,任何想法都不会有效。 / p>
jQuery.fn.tabs = function () {
return this.each(function () {
var ul = jQuery(this);
ul.find('a[href^=#]').each(function (i) {
var tablink = jQuery(this);
if (i) {
jQuery(tablink.attr('href')).hide();
}
else {
tablink.addClass('current');
}
tablink.click(function () {
jQuery(ul.find('a.current').removeClass('current').attr('href')).hide();
jQuery(tablink.addClass('current').attr('href')).show();
if(tablink.attr('rel')){
$("#tab-preloader").show();
$.ajax(
{
url: tablink.attr('rel'),
cache: false,
success: function(message)
{
jQuery(tablink.attr('href')).empty().append(message);
$("#tab-preloader").hide();
}
});
};
return false;
});
});
});
};
此外,我不知道它是否相关,但我正在使用rel“function”拉出嵌套选项卡的所有内容。菜单如下所示:
<li><a href="#tab1-b" rel="29623/static.html?nocache=true">Sports & Racing</a></li>
<li><a href="#tab1-c" rel="29681/static.html?nocache=true">Shooters</a></li>
<li><a href="#tab1-d" rel="29688/static.html?nocache=true">Kids & Family</a></li>
请原谅我缺乏知识,我对整个jquery事情都很陌生。再次感谢!
答案 0 :(得分:1)
如果我理解正确,您希望默认加载第一个标签。您可以通过触发其click
事件来执行此操作,例如:
tablink.click(function () {
//...
});
//move down
if (i) {
jQuery(tablink.attr('href')).hide();
}
else {
tablink.click(); // will also add the class
}
如果您不想更改代码,只需在调用tabs()
之后从代码中的某个位置运行此代码:
$('a.current').click();