Link 添加到选项卡并将其激活?
Link to a tab and make it active?
我有一个带有 3 个选项卡的 table 选项卡 - jquery-ui.min.js
的日间课程、晚间课程和在线课程
我希望能够从网站上的其他页面link到这些选项卡,因此 link 到晚间课程会将我带到课程页面并且晚间选项卡将处于活动状态.我已经尝试了很多 suggestions 我在网上找到的但是 none 工作我只能 link 到已经激活的选项卡。出现的大多数建议似乎是针对 Bootstrap,但我没有使用 Bootstrap,现阶段也不是一个选项。如果有人能告诉我这是否真的可行,如果可以的话,我将不胜感激。
这是我的代码的简化版本:
<div id="tabs">
<ul>
<li class="active"><a href="#tabs-2">Day Course</a></li>
<li><a href="#tabs-3">Evening Courses</a></li>
<li><a href="#tabs-4">Online Courses</a></li>
</ul>
<div id="tabs-2" style="display:block;">
<p>Tab 2 content</p>
</div>
<div id="tabs-3" style="display:none;">
<p>Tab 3 content</p>
</div>
<div id="tabs-4" style="display:none;">
<p>Tab 4 content</p>
</div>
</div><!-- /End the tabs-1 -->
jQuery(function() {
jQuery( "#tabs" ).tabs();
});
尝试链接到 http://yousite.com/#tabs-3
我有相同的设置,没有 bootstrap、jquery ui 等。我刚刚测试过,它似乎可以工作,加载页面,然后选择我指定的选项卡.
我也会删除硬编码的 display:none,这可能会给您带来问题。
我更新了这段代码,所以有一个工作示例。我无法在 jsfiddle 上运行它,因此在下面的示例中它使用了两个文件。
请记住,原来的问题是。
"I want to be able to link to these tabs from other pages on the site".
要使用下面的示例,您必须保存以下两个 Javascript 和 HTML 文件。到您的本地硬盘驱动器(或最喜欢的网络服务器)并调用一个 otherpage.html 并调用另一个 test.html,您会看到在 [=68= 末尾使用“#tab-name” ] 将在从不同页面调用时起作用。
如果您尝试将链接放在 SAME 页面上(不是发布者所要求的)。使用将不起作用,因为它不会强制重新加载页面,因此解析 URL 并激活选项卡的代码位不是 运行。您将需要使用其他一些张贴者提到的回调之一。但这不是你问的,以此类推。
以下示例有效(在 Chromium 中测试)。
------otherpage.html----------
<html>
<body>
<ul>
<li><a href="test.html#tab-1">Load Page w/ Tab 1</a></li>
<li><a href="test.html#tab-2">Load Page w/ Tab 2</a></li>
<li><a href="test.html#tab-3">Load Page w/ Tab 3</a></li>
</ul>
</body>
</html>
----------------结束otherpage.html------------
----------------test.html-----------------
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"> </script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
</head>
<body>
<div id="main_tabs">
<ul>
<li><a href="#tab-1">Ipso</a></li>
<li><a href="#tab-2">Loro</a></li>
<li><a href="#tab-3">Factum</a></li>
</ul>
<div id="tab-1">
<p>Tab 1 Content</p>
</div>
<div id="tab-2">
<p>Tab 2 content</p>
</div>
<div id="tab-3">
<p>Tab 3 content</p>
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$("#main_tabs").tabs({
activate: function(event, ui) {
window.location.href = ui.newPanel.selector;
}
});
});
</script>
</body>
</html>
------------结束test.html--------
激活函数中的位使得如果他们单击不同的选项卡,然后重新加载页面,他们单击的选项卡将保持活动状态。
我有一个带有 3 个选项卡的 table 选项卡 - jquery-ui.min.js
的日间课程、晚间课程和在线课程我希望能够从网站上的其他页面link到这些选项卡,因此 link 到晚间课程会将我带到课程页面并且晚间选项卡将处于活动状态.我已经尝试了很多 suggestions 我在网上找到的但是 none 工作我只能 link 到已经激活的选项卡。出现的大多数建议似乎是针对 Bootstrap,但我没有使用 Bootstrap,现阶段也不是一个选项。如果有人能告诉我这是否真的可行,如果可以的话,我将不胜感激。
这是我的代码的简化版本:
<div id="tabs">
<ul>
<li class="active"><a href="#tabs-2">Day Course</a></li>
<li><a href="#tabs-3">Evening Courses</a></li>
<li><a href="#tabs-4">Online Courses</a></li>
</ul>
<div id="tabs-2" style="display:block;">
<p>Tab 2 content</p>
</div>
<div id="tabs-3" style="display:none;">
<p>Tab 3 content</p>
</div>
<div id="tabs-4" style="display:none;">
<p>Tab 4 content</p>
</div>
</div><!-- /End the tabs-1 -->
jQuery(function() {
jQuery( "#tabs" ).tabs();
});
尝试链接到 http://yousite.com/#tabs-3
我有相同的设置,没有 bootstrap、jquery ui 等。我刚刚测试过,它似乎可以工作,加载页面,然后选择我指定的选项卡.
我也会删除硬编码的 display:none,这可能会给您带来问题。
我更新了这段代码,所以有一个工作示例。我无法在 jsfiddle 上运行它,因此在下面的示例中它使用了两个文件。
请记住,原来的问题是。
"I want to be able to link to these tabs from other pages on the site".
要使用下面的示例,您必须保存以下两个 Javascript 和 HTML 文件。到您的本地硬盘驱动器(或最喜欢的网络服务器)并调用一个 otherpage.html 并调用另一个 test.html,您会看到在 [=68= 末尾使用“#tab-name” ] 将在从不同页面调用时起作用。
如果您尝试将链接放在 SAME 页面上(不是发布者所要求的)。使用将不起作用,因为它不会强制重新加载页面,因此解析 URL 并激活选项卡的代码位不是 运行。您将需要使用其他一些张贴者提到的回调之一。但这不是你问的,以此类推。
以下示例有效(在 Chromium 中测试)。
------otherpage.html----------
<html>
<body>
<ul>
<li><a href="test.html#tab-1">Load Page w/ Tab 1</a></li>
<li><a href="test.html#tab-2">Load Page w/ Tab 2</a></li>
<li><a href="test.html#tab-3">Load Page w/ Tab 3</a></li>
</ul>
</body>
</html>
----------------结束otherpage.html------------
----------------test.html-----------------
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"> </script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
</head>
<body>
<div id="main_tabs">
<ul>
<li><a href="#tab-1">Ipso</a></li>
<li><a href="#tab-2">Loro</a></li>
<li><a href="#tab-3">Factum</a></li>
</ul>
<div id="tab-1">
<p>Tab 1 Content</p>
</div>
<div id="tab-2">
<p>Tab 2 content</p>
</div>
<div id="tab-3">
<p>Tab 3 content</p>
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$("#main_tabs").tabs({
activate: function(event, ui) {
window.location.href = ui.newPanel.selector;
}
});
});
</script>
</body>
</html>
------------结束test.html--------
激活函数中的位使得如果他们单击不同的选项卡,然后重新加载页面,他们单击的选项卡将保持活动状态。