У меня есть куча вкладок контента, на которых отображается значок свернуть на каждой панели. Так как это так вручную, чтобы закрыть все расширенные divs один за другим, есть развернуть все и свернуть все кнопки, чтобы развернуть и свернуть одним выстрелом.expand/collapse all in jquery
Работает должным образом. Но что мне нужно добавить, это
Нагрузка на страницу Мне нужна кнопка 'collapse all'
, чтобы иметь неактивный класс coz, нет divs, расширенных при загрузке страницы в первый раз.
И когда любой div расширяется, неактивный класс следует удалить из кнопки 'collapse all'
и наоборот.
вот мой код
//expand/collapse all
$('.expandall-icon').click(function(){
$(this).addClass('expand-inactive');
$('.collapseall-icon').removeClass('collapse-inactive')
$('.inner-content').slideDown();
});
$('.collapseall-icon').click(function(){
$(this).addClass('collapse-inactive');
$('.expandall-icon').removeClass('expand-inactive');
$('.inner-content').slideUp();
});
//Collapse and expand data
$('.inner-content').hide();
$(".expand a").click(function (e) {
e.preventDefault();
$(this).parent().toggleClass('collapse');
$(this).closest('.content').find('.inner-content').slideToggle();
});
И DEMO
Пробовал с if
else
состоянии путем добавления inactive
класс по умолчанию, но это оленья кожа удалить inactive
класс хотя я проверка условие расширенного div.
//expand/collapse all
$('.expandall-icon').click(function(){
$(this).addClass('expand-inactive');
$('.collapseall-icon').removeClass('collapse-inactive')
$('.inner-content').slideDown();
});
$('.collapseall-icon').addClass('collapse-inactive');
$('.collapseall-icon').click(function(){
$(this).addClass('collapse-inactive');
$('.expandall-icon').removeClass('expand-inactive');
$('.inner-content').slideUp();
});
//Collapse and expand data
$('.inner-content').hide();
$(".expand a").click(function (e) {
e.preventDefault();
$(this).parent().toggleClass('collapse');
$(this).closest('.content').find('.inner-content').slideToggle().toggleClass('datapanel_opend');
//expand all
if(!$(this).closest('.content').find('.inner-content').hasClass("datapanel_opend"))
{
$('div.collapseall-icon').removeClass('collapse-inactive');
}
else
{
$('div.collapseall-icon').addClass('collapse-inactive');
}
});
Попытки создать единую кнопку для затратить-все и развал-всех, когда любые из панели затрачивает, изменить имя и функциональность чтобы свернуть - все и наоборот. –
Невозможно создать одиночную кнопку coz это требование – Sowmya
См. Http://jsbin.com/ALudAWE/5/ – tewathia