jQuery 选项卡 - 页面上有多个选项卡
这是我发布的上一个问题的后续,但我无法让它工作。
我试图在一个页面上使用多组选项卡(jQuery)。
这是我为一组选项卡编写的代码,效果很好:
$('div.tabs div.tab').hide();
$('div.tabs div:first').show();
$('div.tabs ul.htabs li:first a').addClass('current');
$('div.tabs ul.htabs li a').click(function(){
$('div.tabs ul.htabs li a').removeClass('current');
$(this).addClass('current');
var currentTab = $(this).attr('href');
$('div.tabs div.tab').hide();
$(currentTab).show();
return false;
});
为了在页面上使用多个选项卡集,我为每个选项卡集分配了#id,并尝试通过以下方式实现这一点:
$.each(['#tabs-1', '#tabs-2', '#tabs-3' ], function(id) {
$(id + 'div.tab').hide();
$(id + 'div:first').show();
$(id + 'ul.htabs li:first a').addClass('current');
$(id + 'ul.htabs li a').click(function(){
$(id + 'ul.htabs li a').removeClass('current');
$(this).addClass('current');
var currentTab = $(this).attr('href');
$(id + 'div.tab').hide();
$(currentTab).show();
return false;
});
});
显然我在这里做错了一些事情,但作为一个 jQuery 新手,我被难住了!
This is kind of a follow on from a previous question I posted but I've not been able to get it to work..
I'm trying to use multiple sets of tabs (jQuery) on one page.
This is the code I had for one set of tabs which works great:
$('div.tabs div.tab').hide();
$('div.tabs div:first').show();
$('div.tabs ul.htabs li:first a').addClass('current');
$('div.tabs ul.htabs li a').click(function(){
$('div.tabs ul.htabs li a').removeClass('current');
$(this).addClass('current');
var currentTab = $(this).attr('href');
$('div.tabs div.tab').hide();
$(currentTab).show();
return false;
});
To use more than one set on the page I assigned #id's to each tab-set and tried to impliment this with:
$.each(['#tabs-1', '#tabs-2', '#tabs-3' ], function(id) {
$(id + 'div.tab').hide();
$(id + 'div:first').show();
$(id + 'ul.htabs li:first a').addClass('current');
$(id + 'ul.htabs li a').click(function(){
$(id + 'ul.htabs li a').removeClass('current');
$(this).addClass('current');
var currentTab = $(this).attr('href');
$(id + 'div.tab').hide();
$(currentTab).show();
return false;
});
});
Obviously I'm doing something wrong here but as a jQuery newcomer I'm stumped!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧,所以即使代码中的间距正确,这也不起作用,但我找到了一个更轻量级的解决方案,可以完美地工作 - jQuery MiniTabs:
使用此代码,您可以添加:
并且一切都完美运行!
okay, so this was not working even with the correct spacing in the code but I have found a much more light-weight solution which works perfectly – jQuery MiniTabs:
Using this code you can then add:
And everything works perfectly!
id 和 'div.tab' 之间是否缺少空格?这将计算为
“#tabs-1div.tab”
。Isn't a space missing between the id and the 'div.tab' ? This would evaluate to
"#tabs-1div.tab"
.