Здравствуйте, столкнулся с проблемой замены toggle(). Как я знаю, данный метод в последних версиях jquery работает иначе, нашёл такую альтернативу :
var flag = new Boolean(true);//Создаем логическую переменную (со значением true)
$('.table').hide();
$('h3').click(function() {
if (flag) {//Если flag == true
flag = false;//Меняем значение переменной flag
func1.call(this);//Вызываем func1 с контекстом этой функции (т.е. в вызванной функции this = this этой функции)
} else {//Если flag не равно true
flag = true;
func2.call(this);
}
return false;
});
function func1() {$('.table').slideDown(500);};
function func2() {$('.table').slideUp(500);};
<h3>Заголовок</h3>
<div class="table">Контент</div>
<h3>Заголовок</h3>
<div class="table">Контент</div>
Корень проблемы - переменная flag будет менять значение true/false вне зависимости по какому именно h3 мы кликаем, можно конечно для каждого заголовка прописать свою переменную, но получится довольно большой код, нет ли более изящного решения ?