Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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 “折叠标签”;“手动”;don';t更改启动按钮上的文本_Javascript_Jquery_Twitter Bootstrap_Bootstrap Accordion - Fatal编程技术网

Javascript “折叠标签”;“手动”;don';t更改启动按钮上的文本

Javascript “折叠标签”;“手动”;don';t更改启动按钮上的文本,javascript,jquery,twitter-bootstrap,bootstrap-accordion,Javascript,Jquery,Twitter Bootstrap,Bootstrap Accordion,只有在单击按钮#collapse_init时,我才能根据活动的布尔变量将按钮上的文本更改为“全部显示”或“全部隐藏” 当我手动隐藏/折叠选项卡(一个接一个)时,按钮上的文本不会更改,我正在尝试找出如何修复该问题 我的意思是,无论是否显示所有选项卡(但不是通过按钮),按钮文本都不会更改 **目前,画笔工作不正常-按钮工作不正常(仅在“画笔”中,在我的代码中,它工作正常),它不会一次折叠/隐藏所有内容(同时尝试找出原因) var-active=false; $('#collapse_init'

只有在单击按钮
#collapse_init
时,我才能根据
活动的
布尔变量将按钮上的文本更改为“全部显示”或“全部隐藏”

当我手动隐藏/折叠选项卡(一个接一个)时,按钮上的文本不会更改,我正在尝试找出如何修复该问题

  • 我的意思是,无论是否显示所有选项卡(但不是通过按钮),按钮文本都不会更改
**目前,画笔工作不正常-按钮工作不正常(仅在“画笔”中,在我的代码中,它工作正常),它不会一次折叠/隐藏所有内容(同时尝试找出原因)

var-active=false;
$('#collapse_init')。单击(函数(){
如果(活动){
主动=假;
$('.panel collapse')。collapse('hide');
$('.panel title').attr('data-toggle','collapse');
$(this.text('Show all');
}否则{
主动=真;
$('.panel collapse')。collapse('show');
$('.panel title').attr('数据切换','');
$(this.text('Hide all');
}
});
$('.accordion toggle')。单击(函数(){
var-visible=$('.accordion-toggle:visible')。长度;
如果(可见>0){
$('#collapse_init')。text('Hide all');
}否则{
$('#collapse_init')。text('Show all');
}
});

全部展示

一个动物教区的陈词滥调reprehenderit,enim eiusmod high life accusamus terry richardson ad squid。3狼月亮奥特餐厅,非丘比特滑板多洛早午餐。食品车奎奴亚藜。早午餐3狼月亮临时,圣塔阿利夸放了一只鸟在上面鱿鱼单一来源咖啡NullaAssumenda shoreditch等Nihil anim keffiyeh helvetica,工艺啤酒工人wes anderson cred Nesciut sapiente ea proident。纯素食主义者,屠夫副洛莫。紧身裤从工艺啤酒场到餐桌,生料牛仔布美学合成物,你可能还没听说过accusamus labore可持续VHS。 两个动物教区的陈词滥调reprehenderit,enim eiusmod high life accusamus terry richardson ad squid。3狼月亮奥特餐厅,非丘比特滑板多洛早午餐。食品车奎奴亚藜。早午餐3狼月亮临时,圣塔阿利夸放了一只鸟在上面鱿鱼单一来源咖啡NullaAssumenda shoreditch等Nihil anim keffiyeh helvetica,工艺啤酒工人wes anderson cred Nesciut sapiente ea proident。纯素食主义者,屠夫副洛莫。紧身裤从工艺啤酒场到餐桌,生料牛仔布美学合成物,你可能还没听说过accusamus labore可持续VHS。 三个动物教区的陈词滥调reprehenderit,enim eiusmod high life accusamus terry richardson和squid。3狼月亮奥特餐厅,非丘比特滑板多洛早午餐。食品车奎奴亚藜。早午餐3狼月亮临时,圣塔阿利夸放了一只鸟在上面鱿鱼单一来源咖啡NullaAssumenda shoreditch等Nihil anim keffiyeh helvetica,工艺啤酒工人wes anderson cred Nesciut sapiente ea proident。纯素食主义者,屠夫副洛莫。紧身裤从工艺啤酒场到餐桌,生料牛仔布美学合成物,你可能还没听说过accusamus labore可持续VHS。
添加此代码并重试

$('.accordion-toggle').click(function () {
  var visible = $('.accordion-toggle:visible').length; 
  if(visible >0){
     $('#collapse_init').text('Hide all');
  }else{
     $('#collapse_init').text('Show all');
  }
});

我认为您遇到的问题是,
$('.accordion toggle:visible')。在面板打开/关闭之前,正在检索长度

您应该使用显示的.bs.collapse隐藏的.bs.collapse来检测面板何时完成打开或关闭

这是我的裂缝。虽然不太好,但还是比较干净(也许)


我用你建议的代码更新了钢笔,它不工作了。尝试显示每个选项卡(手动,一个接一个)按钮上的文本未更改为“全部显示”accordian在codepen中无法正常工作。可以在代码中尝试,也可以使用var visible=$('.collapse.in:visible').length;tese课程是什么意思<代码>隐藏的.bs.collapse
显示的.bs.collapse
它们是在
boostrap collapse
中构建的吗?还有,什么是
hidden.bs.collapse
function中它们不是类,而是事件。它们在内部由引导调用。Showed.bs.collapse发生在可折叠元素完全隐藏时。bs.collapse发生在可折叠元素完全隐藏时,
$('.panel collapse:visible')前面的双击(
!!
)。长度
只是将整数快速转换为布尔值的技巧。它基本上与
$('.panel collapse:visible')相同。长度>0
;我只是更喜欢:)更多关于代码正在工作(我对代码做了一点更改),我遇到了一个错误>“手动”隐藏2个选项卡>单击按钮“全部显示”>其中只有一个显示(第二个仍处于隐藏状态)。当您仅显示/隐藏一个或多个选项卡,然后尝试显示/隐藏所有选项卡时,该区域存在错误。我如何解决它?我不太清楚原因,但从每个面板中删除
数据父项=“#accordion”
解决了这个问题。我更新了我的代码笔。:-)
var active = false,
$collapseBtn = $('#collapse_init'),
$accordion = $('#accordion');

$collapseBtn.on('click',function(){
  active = ! active;
  $('.panel-collapse').collapse( active ? 'show' : 'hide');
  $('.panel-title').attr('data-toggle', active ? '' : 'collapse' );
})

$accordion.on({
  'shown.bs.collapse': function () {
    active = true;
    $collapseBtn.text( 'Hide all' );
  },
  'hidden.bs.collapse': function ( e) {
    active = ! ! $('.panel-collapse:visible').length;
    $collapseBtn.text( ( active ? 'Hide' : 'Show' ) + ' all' );
  }
});