Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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 切换滑块不能正确更改回图标_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 切换滑块不能正确更改回图标

Javascript 切换滑块不能正确更改回图标,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我不明白这一点,如果有任何帮助,我将非常感激。我在我的网站上使用切换滑块,他们几乎可以做我想做的事情。这是: 单击时更改图标(从+到-),向下滑动内容容器 如果单击另一个切换链接,则关闭打开的容器并将图标更改回+ 我遇到的问题是,如果再次单击其切换链接(而不是单击另一个切换链接),则打开容器的图标不会变回+。明白了吗 您可以在此处查看: 请单击面板,您将看到。一切正常,除非您单击打开的同一链接将其关闭 这是该功能的代码,就像现在一样: // Toggle Slides $(function(

我不明白这一点,如果有任何帮助,我将非常感激。我在我的网站上使用切换滑块,他们几乎可以做我想做的事情。这是:

单击时更改图标(从+到-),向下滑动内容容器 如果单击另一个切换链接,则关闭打开的容器并将图标更改回+

我遇到的问题是,如果再次单击其切换链接(而不是单击另一个切换链接),则打开容器的图标不会变回+。明白了吗

您可以在此处查看:

请单击面板,您将看到。一切正常,除非您单击打开的同一链接将其关闭

这是该功能的代码,就像现在一样:

 // Toggle Slides
$(function(){ // run after page loads
        //Switch the "Open" and "Close" state per click then slide up/down (depending on open/close state)
        $("p.trigger, h3.trigger").click(function(){
                $("p.trigger, h3.trigger").removeClass("active");
                $('.toggle_container').not($(this).next()).slideUp();
                $(this).addClass("active").next().slideToggle(500);
                return false; //Prevent the browser jump to the link anchor
        });
});
非常感谢您的帮助

这是其中一个切换容器的HTML

<div class="list">
<p class="trigger">
    <a href="#">All you need is Nextree…</a>
</p>
<div class="toggle_container">
    <div class="block clearfix">
    <p>denn es deckt alle wichtigen Geschäftsprozesse ab. Geniessen Sie die Vorteile der vollständigen Integration, die automatische Verlinkung von zusammenhängenden Informationen, den direkten Zugriff auf Dokumente – jederzeit und überall.
    </p>
    </div>
    <p class="toggle-close">
    <a href="#">Close</a>
    </p>
</div>
</div>        

denn es deckt alle wichtigen Geschäfts Prozesse ab.Geniessen在Volsteile der vorlständigen Integration中担任首席执行官,负责管理zusammenhängeden信息,并负责管理Dokumente–jederzeit undüberall。

试试这个

        $("p.trigger, h3.trigger").click(function() {
                var $this = $(this);
                var hasActive = $this.hasClass('active');

                $("p.trigger, h3.trigger").removeClass("active");
                $('.toggle_container').not($this.next()).slideUp();
                if( !hasActive ) {
                   $this.addClass("active");
                }
                $this.next().slideToggle(500);
                return false; //Prevent the browser jump to the link anchor
        });

这将仅在当前未激活时添加活动。这是未经测试的代码,只要您理解我试图做的事情,如果代码中有错误,您应该正确地解决它

这是因为您在最后执行$(This).addClass(“active”)。因此,无论您是打开还是关闭,您都会将活动类添加到刚才在末尾单击的项目中。因此,当打开某个对象并再次单击它时,它将首先删除活动类并将其关闭,然后再次添加活动类,这样-符号仍然显示出来这是非常完美的,就像一个charme。非常感谢,我很高兴;-)