Javascript 触发某些jQuery选项卡的HTML链接
在花了很长时间试图找到解决方案之后,我想是时候问问专家了 我已经在我的站点上实现了jQuery选项卡,但是,除了选择一个选项卡来显示内容外,如果您单击页面上其他地方的标准html链接,我还希望能够显示不同的选项卡内容 可以在此处看到该页面,所讨论的html链接是位于左侧的链接(例如,用户可以选择他们想要的选项卡,或者从左侧选择一个区域,然后显示该区域选项卡内容) 这是我目前拥有的js:Javascript 触发某些jQuery选项卡的HTML链接,javascript,jquery,html,Javascript,Jquery,Html,在花了很长时间试图找到解决方案之后,我想是时候问问专家了 我已经在我的站点上实现了jQuery选项卡,但是,除了选择一个选项卡来显示内容外,如果您单击页面上其他地方的标准html链接,我还希望能够显示不同的选项卡内容 可以在此处看到该页面,所讨论的html链接是位于左侧的链接(例如,用户可以选择他们想要的选项卡,或者从左侧选择一个区域,然后显示该区域选项卡内容) 这是我目前拥有的js: $(document).ready(function() { //When page loads...
$(document).ready(function() {
//When page loads...
$(".tab_content").hide(); //Hide all content
$("ul.tabs li:first").addClass("active").show(); //Activate first tab
$(".tab_content:first").show(); //Show first tab content
//On Click Event
$("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active"); //Remove any "active" class
$(this).addClass("active"); //Add "active" class to selected tab
$(".tab_content").hide(); //Hide all tab content
var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
$(activeTab).fadeIn(2000); //Fade in the active ID content
return false;
});
});
非常感谢您的帮助
Andy添加相同功能的最简单方法是将
选项卡
类添加到左侧边栏,或者,将选择边栏菜单的选择器添加到选项卡的选择器
在这一点上,我建议将您那里的代码替换为我为另一个堆栈溢出问题重写的代码。通过遵循最佳实践,它更高效,更干净
var tabContents = $(".tab_content").hide(),
tabs = $("ul.tabs li, .anynavbar ul li"); // Second selector to match left hand sidebar
tabs.first().addClass("active").show();
tabContents.first().show();
tabs.click(function() {
var $this = $(this),
activeTab = $this.find('a').attr('href');
if(!$this.hasClass('active') && activeTab.length > 1 && activeTab.indexOf('#') === 0){
$this.addClass('active').siblings().removeClass('active');
tabContents.hide().filter(activeTab).fadeIn();
}
return false;
});
通过执行上述任一操作,我们可以添加必要的事件处理程序来更改选项卡
我还对代码进行了编辑,添加了一个简单的检查,用于检查HTML中的有效
href
值,其中一些锚缺少相应的href
值来激活正确的选项卡。另外,查看您现在正在使用的代码,您错过了一个})代码>位于文档.ready
处理程序的末尾,这就是代码不起作用的原因 嗨,张毅,谢谢你的上述。。。我复制了与上面完全相同的代码,以替换已经存在且从未运行过的jquery选项卡代码。每个选项卡式内容区域一个接一个地列出,而不是在单击之前隐藏。知道我做错了什么吗?再次感谢@用户:您是否将其包含在文档中。是否准备好了事件处理程序?@user此外,除了前两个“South East”和“South West”外,侧边栏上的所有链接都具有有效的href
值,以使其正常工作-您也检查了吗?是的,它包含在document.ready事件处理程序中,正如您将看到的,所有选项卡式内容都加载到下面的列表中,而不是隐藏。此外,侧栏中的“South East”和“South West”链接在我尝试使其工作时刚刚获得了hrefs(但没有!)。