Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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_Html_Hash_Accordion - Fatal编程技术网

Javascript 将jQuery自定义手风琴绑定到url哈希标记

Javascript 将jQuery自定义手风琴绑定到url哈希标记,javascript,jquery,html,hash,accordion,Javascript,Jquery,Html,Hash,Accordion,我有jQuery自定义accordion函数,我想将它绑定到url,以便url中给出的每个哈希标记都能打开所需的元素。 我在函数中添加了var散列,并尝试将其分配给活动变量,但它不起作用。有没有办法修改它 jQuery.fn.extend({ accordion: function() { return this.each(function() { var $ul = jQuery(this);

我有jQuery自定义accordion函数,我想将它绑定到url,以便url中给出的每个哈希标记都能打开所需的元素。 我在函数中添加了var散列,并尝试将其分配给活动变量,但它不起作用。有没有办法修改它

jQuery.fn.extend({  
    accordion: function() {       
        return this.each(function() {   
            var $ul = jQuery(this);             
            if($ul.data('accordiated'))
                return false;                                           
            jQuery.each($ul.find('ul, li>div'), function(){
                jQuery(this).data('accordiated', true);
                jQuery(this).hide();
            });

            jQuery.each($ul.find('a'), function(){
                jQuery(this).click(function(e){
                    activate(this);
                    return void(0);
                });
            });

            var hash = window.location.hash;
            var active = jQuery('.accordion .active');

            if(active){
                activate(active, 'toggle');
                jQuery(active).parents().show();
            }

            function activate(el,effect){
                Query(el).parent('li').toggleClass('active').siblings().removeClass('active').children('ul, div').slideUp('fast');
                jQuery(el).siblings('ul, div')[(effect || 'slideToggle')]((!effect)?'fast':null);
            }

        });
    } 
}); 

jQuery('.accordion ul').accordion();
以下是html结构:

<div class="accordion">
    <ul class="accordion">
        <li class="active">
            <a href="#health" class="active">Health<span></span></a>
            <ul>
                <li><a href="#health-implants">Implants<span></span></a>
                    <p>Content</p>
                </li>
                <li><a href="#health-protetic">Protetic<span></span></a>
                    <p>Content</p>
                </li>
            </ul>
        </li>
        <li><a href="#estetic">Link 2<span></span></a>
            <p>Content</p>
        </li>
    </ul>
</div>

    • 内容

    • 内容

  • 内容