Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.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
Javascript Jquery按url参数打开选项卡_Javascript_Jquery_Jquery Ui_Url_Tabs - Fatal编程技术网

Javascript Jquery按url参数打开选项卡

Javascript Jquery按url参数打开选项卡,javascript,jquery,jquery-ui,url,tabs,Javascript,Jquery,Jquery Ui,Url,Tabs,我试图做到这一点,当一个人输入像usercp.phpprofile或usercp.phpsettings这样的url时,它将打开该选项卡。另一个问题是,标签href都是指向网站不同页面的URL。基本上,代码是这样的 <div id="tabs"> <ul class="usercptabs"> <li><a href="#tabs-1">Account Summary</a></li> <li>

我试图做到这一点,当一个人输入像usercp.phpprofile或usercp.phpsettings这样的url时,它将打开该选项卡。另一个问题是,标签href都是指向网站不同页面的URL。基本上,代码是这样的

<div id="tabs">
  <ul class="usercptabs">
    <li><a href="#tabs-1">Account Summary</a></li>
    <li><a href="usercp.php?action=profile">Customize Profile</a></li>
    <li><a href="usercp.php?action=options">Settings</a></li>
    <li><a href="usercp.php?action=usergroups">Usergroups</a></li>
    <li><a href="usercp.php?action=editlists">Friends</a></li>
    <li><a href="usercp.php?action=drafts">Drafts</a></li>
    <li><a href="usercp.php?action=alert_settings">Alert Settings</a></li>
    <li><a href="usercp.php?action=subscriptions">Thread Subscriptions</a></li>
  </ul>
如何做到这一点?在整个stackoverflow过程中,我尝试了不同的解决方案,但在这种情况下,它们并不真正起作用

jQuery.noConflict();
jQuery(function() {
    jQuery("#tabs").tabs({
beforeLoad: function( event, ui ) {
      ui.panel.html('<center><img src="http://i.imgur.com/OZPnf**.gif" /></center>');
  }
 });

});
location对象保存关于url的所有信息,其中一个属性是哈希

因此,您可以执行以下操作,从而触发单击匹配选项卡:

jQuery(function ($) {

    /* your tab init code */    

    var hash = location.hash;
    if (hash && hash != '#') {
        hash=hash.substr(1); /* remove the "#" */
        $('#tabs a').filter(function () {
            return $(this).attr('href').indexOf(hash) > -1;
        }).click();/* click the matching tab */
    }
});
此解决方案假定将使用的哈希值与url的查询字符串中的操作参数相匹配。您有一个是有问题的配置文件中的匹配项,另一个是仅关闭设置。如果它们不完全匹配,则需要进行额外的改进