Как повесить одно событие на кнопку для 2-х функции
let clone = $('.main-body__none').clone();
$(document).ready(function () {
$('.btn').click(function() {
let inputV = $('input').val();
let textareaV = $('textarea').val();
if(!inputV) {
alert('Введите название в поле');
return false;
}
if (!textareaV) {
alert('Введите описание в поле');
return false;
}
if ($('.main-body__none').length) {
$('.main-body__none').remove();
}
let s = '';
s += '<div class="main-body__task">';
s += '<div class="input__value">';
s += inputV;
s += '</div>';
s += '<div class="btn__close" onclick="javascript:removeItem(this)"><img src="img/close.png" alt="" /></div>';
s += '<div class="btn__spoiler" onclick="javascript:slideUpElement(this);javascript:slideDownElement(this)"><img src="img/spoiler.png" alt="" /></div>';
s += '<div class="textarea__value">';
s += textareaV;
s += '</div>';
s += '</div>';
$('.main-body__column_l').append(s);
$('input').val('');
$('textarea').val('');
});
});
function removeItem(element) {
$(element).closest('.main-body__task').remove();
if(!$('.main-body__task').length) {
$('.main-body__column_l').append(clone);
}
}
function slideUpElement (element)
{
$(element).css({
transform: 'rotate(90deg)',
transition: '0.5s all'
});
$(element).next('.textarea__value').slideUp(500,slideDownElement);
}
function slideDownElement (element)
{
$(element).next('.textarea__value').slideDown(500);
}
Как повесить на вот эту кнопку 2 функции на одно и тоже событие и сделать так,при нажатии,элемент на странице сворачивался,при еще одном нажатии разворачивался
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
function slideUpOrDown(element) {
if ($(element).hasClass('opened')) {
$(element).removeClass('opened');
$(element).next('.textarea__value').slideDown(500);
} else {
$(element).addClass('opened');
$(element).css({
transform: 'rotate(90deg)',
transition: '0.5s all'
});
$(element).next('.textarea__value').slideUp(500, function() {
slideUpOrDown(element);
});
}
}
<div class="btn__spoiler" onclick="slideUpOrDown(this)">...