Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 轻松响应Accordian标签,在向url添加自定义标签id时显示正确的标签_Jquery_Jquery Plugins_Tabs_Jquery Ui Accordion - Fatal编程技术网

Jquery 轻松响应Accordian标签,在向url添加自定义标签id时显示正确的标签

Jquery 轻松响应Accordian标签,在向url添加自定义标签id时显示正确的标签,jquery,jquery-plugins,tabs,jquery-ui-accordion,Jquery,Jquery Plugins,Tabs,Jquery Ui Accordion,我目前正在使用“简易响应标签插件”,作者:Samson.Onna; 默认情况下,脚本为每个选项卡分配一个id,当单击选项卡时,该id会被追加到url中,这也可以在url()中引用。例如,该实例将显示选项卡3 我想调整它,使用我的标签自定义id,而不是默认的哈希url。(/#水平表1) 这就是下面的脚本。它是未修改的,从我所能看出的是需要修改的部分 // Show correct content area var tabNum = 0; if(hash!='') { var matches =

我目前正在使用“简易响应标签插件”,作者:Samson.Onna;

默认情况下,脚本为每个选项卡分配一个id,当单击选项卡时,该id会被追加到url中,这也可以在url()中引用。例如,该实例将显示选项卡3

我想调整它,使用我的标签自定义id,而不是默认的哈希url。(/#水平表1)

这就是下面的脚本。它是未修改的,从我所能看出的是需要修改的部分

// Show correct content area
var tabNum = 0;
if(hash!='') {
var matches = hash.match(new RegExp(respTabsId+"([0-9]+)"));
if (matches!==null && matches.length===2) {
    tabNum = parseInt(matches[1],10)-1;
    if (tabNum > count) {
        tabNum = 0;
    }
}
}
下面是要保存并用作URL中哈希的“单击的选项卡”哈希

我所做的是稍微修改原始脚本,现在它使用我为每个选项卡提供的id。
因此每个选项卡的url对google更友好,看起来像这样()。 原来的剧本还是他们的,只是注释掉了

然后在我的HTML中我有这个

    <ul class="tabs-list">
        <li id="choose-your-package">CHOOSE YOUR PACKAGE <div class="active-arrow"></div></li>
        <li id="chi-tour" class="demo-tab">CHI TOUR <div class="active-arrow"></div></li>
        <li id="extras-and-addons">EXTRAS + ADDONS <div class="active-arrow"></div></li>
        <li id="tech-specs">TECH SPECS <div class="active-arrow"></div></li>
    </ul><!-- /.tabs-list -->
    <div class="tabs-container">

        <div> <!-- Tab #1 -->
            <?php include('_product-tabs--package.php'); ?>
        </div><!-- / Tab #1 -->


        <div> <!-- Tab #2 -->
            <?php include('_product-tabs--demo.php'); ?>                
        </div> <!-- / Tab #2 -->


        <div> <!-- Tab #3 -->
            <?php include('_product-tabs--extras.php'); ?>                      
        </div> <!-- / Tab #3 -->


        <div> <!-- Tab #4 -->
            <?php include('_product-tabs--tech-specs.php'); ?>                      
        </div> <!-- / Tab #4 -->

    </div><!-- /.tabs-container -->
  • 选择您的套餐
  • chi-tour class=“演示选项卡”>chi-tour 附加组件+附加组件
  • 技术规格

提前谢谢

已修复,其他有此问题的人请将此添加到responsiveTabs.js的底部

// if the URL contains a hashtag, trigger click on that tab.
if (window.location.hash !== '') {
    var hasHash = window.location.hash;
    $('#product-tabs').find(hasHash).click();
}

$('.tabs-list li').on('click', function(e){
    var theid = $(this).attr('id');
    $(theid).click();
});

我创建了一个Git回购,添加了此修复程序

我曾尝试使用您的代码,但没有结果,请告诉我您还做了什么。谢谢,我已经读过了,谢谢,现在把它整理好。我原以为这种方法可以解决谷歌抓取内容的问题,但显然不是出于某种原因没有突出显示我的内容。显然,谷歌的这一新算法并不十分热衷于在URL上添加#。
// if the URL contains a hashtag, trigger click on that tab.
if (window.location.hash !== '') {
    var hasHash = window.location.hash;
    $('#product-tabs').find(hasHash).click();
}

$('.tabs-list li').on('click', function(e){
    var theid = $(this).attr('id');
    $(theid).click();
});