Jquery ui jquery ui 1.10.2选项卡-链接到其他页面或网站的选项卡
我正在使用最新的jQueryUI选项卡(1.10.2) 我需要能够从外部页面链接到各个选项卡。也许更正确的说法是,我需要能够通过bookmarble链接更改最初活动的选项卡 我知道如何设置活动索引,以便#tabs-3是活动选项卡Jquery ui jquery ui 1.10.2选项卡-链接到其他页面或网站的选项卡,jquery-ui,jquery-ui-tabs,Jquery Ui,Jquery Ui Tabs,我正在使用最新的jQueryUI选项卡(1.10.2) 我需要能够从外部页面链接到各个选项卡。也许更正确的说法是,我需要能够通过bookmarble链接更改最初活动的选项卡 我知道如何设置活动索引,以便#tabs-3是活动选项卡 $( "#tabs" ).tabs({ active: 5 }); 但是我需要知道如何使用url散列更改.tabs({active})的值,这样“tabs page.html#tabs-3”的链接将通过将.tabs({active})更改为“2”(因为它是一个基于零的
$( "#tabs" ).tabs({ active: 5 });
但是我需要知道如何使用url散列更改.tabs({active})的值,这样“tabs page.html#tabs-3”的链接将通过将.tabs({active})更改为“2”(因为它是一个基于零的整数)来加载“tabs page.html”的第三个选项卡
我实际上更多的是一个html/css设计师和JQuery/jQueryUI的新手,请感谢您的帮助。我搜索并找到了早期版本和替代库(如JQuery工具)的修复程序,但没有找到JQuery 1.10.2的修复程序。我找到了链接到该部分,然后重置窗口位置的方法,但当浏览器在窗口位置之间切换时,这会导致很多“跳跃”。如果有其他页面包含此修复,请在评论中链接。非常感谢 您需要读取jQuery中的哈希值。这里可以找到一些很好的信息 一旦有了这个,就可以在jqueryUI选项卡上设置活动选项卡
$('#tabs').tabs( "option", "active", hashValue );
您需要在页面最初加载时执行所有这些操作,因此在$(function(){…})中代码>
更新
这是完整的代码
<script>
$(function () {
// run the jquery ui plugin
$('#tabs').tabs();
// grab the url
var url = document.URL;
// grab the value of the hash
var hashValue = url.substring(url.indexOf('#')).replace('#', '');
// check to make sure it is a number
if (!isNaN(hashValue)) {
// set the active tab
$('#tabs').tabs("option", "active", hashValue);
}
});
</script>
$(函数(){
//运行jQueryUI插件
$(“#tabs”).tabs();
//抓取url
var url=document.url;
//获取散列的值
var hashValue=url.substring(url.indexOf('#').replace('#','');
//检查以确保它是一个数字
如果(!isNaN(hashValue)){
//设置活动选项卡
$('#制表符')。制表符(“选项”,“活动”,哈希值);
}
});
我应该指定我需要任何选项卡链接才能工作,而不仅仅是tabs-3。另外,命名约定是默认的(div id=tabs-1,div id=tabs-2,等等)是的,这只是一个例子。您可以将url字符串替换为document.url
,该字符串将具有您所具有的值。然后根据您所使用的值相应地调整您的代码。此外,@timbjames我仍然不完全确定如何实现此功能,您能给我提供更多的上下文吗?对不起,我是一个真正的javascript/JQuery n00b。我知道如何实现JQuery库小部件并编辑它们,但我真的不知道如何将coe-tofether放在我自己身上,这还没有达到我需要的程度。。。我想我需要变量hashValue等于从hashurl提取的标签号减去1,这样active等于0-6之间的数字,因为有7个标签。事实上,它仍然试图“跳转”到页面的某个部分,例如,我需要在页面顶部加载窗口。如果我可以将hashValue设置为提取的选项卡编号(减去1),那么我应该能够对选项卡使用不同的命名约定,以防止hash使浏览器“跳转”到标签位置。实际上,我的想法可能太僵化了,我仍然必须将链接设置为标签名称,而不是将它们设置为纯数字,如等。非常感谢您的帮助、耐心和快速响应!
<script>
$(function () {
// run the jquery ui plugin
$('#tabs').tabs();
// grab the url
var url = document.URL;
// grab the value of the hash
var hashValue = url.substring(url.indexOf('#')).replace('#', '');
// check to make sure it is a number
if (!isNaN(hashValue)) {
// set the active tab
$('#tabs').tabs("option", "active", hashValue);
}
});
</script>