Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui jquery ui 1.10.2选项卡-链接到其他页面或网站的选项卡_Jquery Ui_Jquery Ui Tabs - Fatal编程技术网

Jquery ui jquery ui 1.10.2选项卡-链接到其他页面或网站的选项卡

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”(因为它是一个基于零的

我正在使用最新的jQueryUI选项卡(1.10.2)

我需要能够从外部页面链接到各个选项卡。也许更正确的说法是,我需要能够通过bookmarble链接更改最初活动的选项卡

我知道如何设置活动索引,以便#tabs-3是活动选项卡

$( "#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>