我的网站有一个标签式界面,可在所有页面中一致使用。我可以链接到基页(第一个选项卡),但无法弄清楚如何链接到特定选项卡。
这是我的JavaScript:
$(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>
任何指针都将非常感激。我是JavaScript的新手,并且无法在网上找到答案。
稍微澄清一点:
如果我在about.php页面上,则选项卡界面有效。但我想要的链接类型如下:如果我在另一个页面上,我想链接到about页面上的特定选项卡。我有一个导航页脚,我希望能够点击诸如“邮件列表”或“联系人”之类的超链接,并显示正确的页面以及正确的选项卡。
答案 0 :(得分:1)
如果您想专门点击“条款”标签,例如,您可以:
$(".tabs a[href='#panel14']").click();
答案 1 :(得分:1)
实现此目的的技术是使用url的哈希部分。例如:
about.php#PANEL1
或类似地,使用hashbang:
about.php#!PANEL1
(如果您关注SEO,那么hashbang是更好的选择。)
然后,您需要在页面中包含一个脚本,该脚本将检测网址的哈希部分,并相应地激活选项卡。
抱歉,我一直这样做,但没有公开示例。我有一个帖子时会更新帖子。
在jQuery中它看起来像这样:
$(".tabs a[href="+window.location.hash+"]").click();
注意:您也可以使用查询字符串,但如果您已经在页面上,则哈希将阻止页面刷新。
答案 2 :(得分:0)
$('a[href="#panel1"]').click(function() {
//insert action here;
});
答案 3 :(得分:0)
也许这有点矫枉过正,但您应该可以通过客户端站点路由来完成。
您首先需要设置根据地址栏中的网址激活的“路线”,然后您可以使用以下格式链接到tab1 on about about 并在激活的路径中激活相应的选项卡(触发该选项卡上的点击事件)。
这是一个提供JavaScript路由的jQuery插件的链接
当然还有其他路由解决方案,这里是关于该主题的stackoverflow帖子的链接 javascript clientside routing/pathing library