如何直接链接到特定的JavaScript选项卡?
我的网站有一个选项卡式界面,在所有页面中都一致使用。我可以链接到基本页(第一个选项卡),但不知道如何链接到特定选项卡 这是我的JavaScript:如何直接链接到特定的JavaScript选项卡?,javascript,html,css,Javascript,Html,Css,我的网站有一个选项卡式界面,在所有页面中都一致使用。我可以链接到基本页(第一个选项卡),但不知道如何链接到特定选项卡 这是我的JavaScript: $(document).ready(function() { $(".tabs a").click(function() { var $this = $(this); $(".panel").hide(); $(".tabs a.active").removeClass("active"); $this.addC
$(document).ready(function() {
$(".tabs a").click(function() {
var $this = $(this);
$(".panel").hide();
$(".tabs a.active").removeClass("active");
$this.addClass("active").blur();
var panel = $this.attr("href");
$(panel).fadeIn(250);
return false;
});
$(".tabs li:first-of-type a").click();
});
我的每个页面都是这样设置的:
<div id="aboutContainer">
<ul class="tabs">
<li><a href="#panel1">About Us</a></li>
<li><a href="#panel2">Contact Us</a></li>
<li><a href="#panel3">Mailing List</a></li>
<li><a href="#panel4">Terms</a></li>
<li><a href="#panel5">Privacy Policy</a></li>
<li><a href="#panel6">Help</a></li>
</ul>
<div class="panelContainer">
<div class="panel" id="panel1">
<?php include('includes/aboutme.php'); ?>
</div>
<div class="panel" id="panel2">
<?php include('includes/contact.php'); ?>
</div>
<div class="panel" id="panel3">
<?php include('includes/mailinglist.php'); ?>
</div>
<div class="panel" id="panel4">
<?php include('includes/terms.php'); ?>
</div>
<div class="panel" id="panel5">
<?php include('includes/privacypolicy.php'); ?>
</div>
<div class="panel" id="panel6">
<?php include('includes/cheekyreference.php'); ?>
</div>
</div>
</div>
$(".tabs a[href="+window.location.hash+"]").click();
任何指点都将不胜感激。我对JavaScript非常陌生,在网上搜索时一直找不到答案
稍微澄清一下:
如果我在about.php页面上,选项卡式界面可以工作。但是我试图建立的链接类型如下:如果我在另一个页面上,我想链接到about页面上的特定选项卡。我有一个导航页脚,我希望能够单击超链接,如“邮件列表”或“联系人”,并显示正确的页面和正确的选项卡。如果您想特别单击术语选项卡,例如,您可以:
$(“.tabs a[href=”#panel14'])。单击()代码>这可能有些过分,但您应该可以通过客户端站点路由来实现
您首先需要设置根据地址栏中的url激活的“路由”,然后您可以使用以下格式的链接,链接到关于
并在激活的路线中激活相应的选项卡(在该选项卡上触发单击事件)
这里有一个指向jQuery插件的链接,该插件提供JavaScript路由
当然还有其他的路由解决方案,这里有一个链接,链接到关于这个主题的stackoverflow帖子
实现这一点的技术是使用url的哈希部分。例如:
关于.php#panel1
或者,类似地,使用hashbang:
关于.php#!小组1
(如果你关心SEO,hashbang是一个更好的选择。)
然后,您需要在页面中包含一个脚本,该脚本将检测url的哈希部分,并相应地激活选项卡
很抱歉,我一直在这样做,但没有公开的例子。我会在有帖子的时候更新
在jQuery中,它将如下所示:
<div id="aboutContainer">
<ul class="tabs">
<li><a href="#panel1">About Us</a></li>
<li><a href="#panel2">Contact Us</a></li>
<li><a href="#panel3">Mailing List</a></li>
<li><a href="#panel4">Terms</a></li>
<li><a href="#panel5">Privacy Policy</a></li>
<li><a href="#panel6">Help</a></li>
</ul>
<div class="panelContainer">
<div class="panel" id="panel1">
<?php include('includes/aboutme.php'); ?>
</div>
<div class="panel" id="panel2">
<?php include('includes/contact.php'); ?>
</div>
<div class="panel" id="panel3">
<?php include('includes/mailinglist.php'); ?>
</div>
<div class="panel" id="panel4">
<?php include('includes/terms.php'); ?>
</div>
<div class="panel" id="panel5">
<?php include('includes/privacypolicy.php'); ?>
</div>
<div class="panel" id="panel6">
<?php include('includes/cheekyreference.php'); ?>
</div>
</div>
</div>
$(".tabs a[href="+window.location.hash+"]").click();
注意:您也可以使用querystring,但是如果您已经在页面上,则哈希将阻止页面刷新。您正在尝试以字符串淡入,这是行不通的。您能否详细说明一下您想做什么,您想链接什么?您使用的是jQuery UI吗?如果我在about.php页面上,选项卡式界面可以工作。但是我试图建立的链接类型如下:如果我在另一个页面上,我想链接到about页面上的特定选项卡。我有一个导航页脚,我想能够点击说“邮件列表”或“联系人”,并有正确的页面显示以及正确的标签。我希望这能澄清问题。不,我没有使用jQueryUI。你也应该尝试解释你的答案,即使你认为答案是不言自明的——其他人可能不会。只是做了一些stackoverflow.com/review,没有修改。