Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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";“全部崩溃”;功能_Javascript_Jquery_Twitter Bootstrap - Fatal编程技术网

Javascript 引导折叠-Jquery";“全部崩溃”;功能

Javascript 引导折叠-Jquery";“全部崩溃”;功能,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,我正在编写一个使用前端引导的个人提要阅读器,并希望添加一个“全部折叠/展开”按钮 这是我的第一个JavaScript/JQuery代码,所以除了在Firefox开发者控制台中打印变量外,我不知道如何调试它 我的页面结构由面板组成。用户可以通过单击面板标题展开或折叠面板。和用于折叠或展开所有面板的按钮 我的解决方案大多数时候都有效,但我注意到一个奇怪的行为。下面是我如何重现这个问题的: 第一次打开页面 通过单击面板标题展开一个面板 现在,“全部折叠”按钮将折叠打开的面板,并展开其他面板。好像它“切

我正在编写一个使用前端引导的个人提要阅读器,并希望添加一个“全部折叠/展开”按钮

这是我的第一个JavaScript/JQuery代码,所以除了在Firefox开发者控制台中打印变量外,我不知道如何调试它

我的页面结构由面板组成。用户可以通过单击面板标题展开或折叠面板。和用于折叠或展开所有面板的按钮

我的解决方案大多数时候都有效,但我注意到一个奇怪的行为。下面是我如何重现这个问题的:

  • 第一次打开页面
  • 通过单击面板标题展开一个面板
  • 现在,“全部折叠”按钮将折叠打开的面板,并展开其他面板。好像它“切换”所有面板,而不是关闭它们
  • 在这种奇怪的行为之后,一切都正常,我无法在不刷新页面的情况下重现问题。在每一步
    打开面板\u计数
    变量看起来正常
  • 以下是我正在使用的方法:

    $(函数(){
    打开面板计数=0;
    函数更新\切换\按钮(){
    $(“#切换btn”).text((打开面板#计数?“折叠”:“展开”)+“全部”)
    }
    更新_toggle_button();//在页面加载到文本时运行一次#toggle btn
    $(“#切换btn”)。单击(函数(){
    $(“.panel collapse”).collapse(打开面板计数?'hide':'show');
    });
    $('.panel collapse').on('show.bs.collapse',function(){
    打开_面板_计数++;
    更新切换按钮();
    });
    $('.panel collapse').on('hidden.bs.collapse',function(){
    打开面板计数--;
    更新切换按钮();
    });
    });
    
    有人能告诉我我做错了什么吗

    您可以在中看到整个模板: 并在以下位置访问演示:

    尝试更改

      $('#toggle-btn').click(function() {
        $('.panel-collapse').collapse(open_panel_count ? 'hide' : 'show');
      });
    
    为了


    根据Twitter引导文档,您可以通过运行以下命令“将内容作为可折叠元素激活”:

    $('.panel-collapse').collapse({
      toggle: false
    });
    
    添加此选项可以解决您的问题。试试看

    $(function() {
      $('.panel-collapse').collapse({
        toggle: false
      });
    
    ...
    

    不确定twitter JS为什么没有拾取您的
    数据目标=“#entry419294611”data toggle=“collapse”
    。没有小提琴就很难调试

    $('.panel-collapse').collapse('hide');
    

    对不起,这不会改变任何事情。当我认为表达式只评估一次,并且两个代码都是相同的时,我错了吗?看着崩溃代码(),它看起来像一个JQueRy.每个我认为它是用类面板折叠来评估每个元素的,如果你使用Firefox,Firebug插件是一个非常流行的调试工具,你可能需要考虑。这解决了我的问题,但我不知道为什么,我没有在任何地方切换它。现在看看Firebug,在Chrome中似乎不起作用。。。JavaScript调试器说“折叠不是一个函数”:-/
    $('.panel-collapse').collapse('hide');