Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.02.2020, 05:13
Новичок на форуме
Отправить личное сообщение для kirop Посмотреть профиль Найти все сообщения от kirop
 
Регистрация: 23.02.2020
Сообщений: 2

SlideToggle (не могу разобрать)
Всем привет , у меня такой вопрос .
Есть блоки которые добавляются и удаляются по клику , а вот со сворачиванием проблемы , если я нажимаю на 1 блок , то сворачиваются все , а мне нужно чтобы свернулся тот к которому я обратился.
Точнее как правильно мне к нему обратиться ?

function slideTask(slide) {

slide.slideToggle();
}


$('body').on('click', '.cut_down', function () {

let slide = $(this).children('.add');

slideTask(slide);

//$('.disc').slideToggle();
});

Последний раз редактировалось kirop, 23.02.2020 в 05:53.
Ответить с цитированием
  #2 (permalink)  
Старый 23.02.2020, 08:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

kirop,
возможно так ...
function (event) {

let slide = $(event.target);

иначе

[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 25.02.2020, 13:25
Новичок на форуме
Отправить личное сообщение для kirop Посмотреть профиль Найти все сообщения от kirop
 
Регистрация: 23.02.2020
Сообщений: 2

$(document).ready(function () {

    function addTask() {

        let name = $('input').val(),
            text = $('textarea').val();

        if (name.length !== 0 && text.length !== 0) {
            $('.list_txt').hide();

            $('.list').append(
                `<div class="addtask">
                    <div class = "task">${name}
                    <button class ="delete"></button>
                    <button class="cut_down"></button>
                    </div>
                    <div class ="disc">${text}</div>
                </div>`
            );
            name = $('input').val('');
            text = $('textarea').val('');
        } else {
            alert('Введите данные!');
        }
    }

    function deleteTask(item) {
        item.remove();
    }

    function slideTask(slide) {
        slide.slideToggle();
    }

    $('.button').on('click', addTask);


    $('body').on('click', '.cut_down', function () {

        let slide = $(this).parents.('.task').next();//


        slideTask(slide);

        //$('.disc').slideToggle();
    });

    $('body').on('click', '.delete', function (e) {
        e.preventDefault();

        let item = $(this).parents('.addtask');

        deleteTask(item);

        let tasks = $('.addtask');

        if (tasks.length == 0) {
            $('.list_txt').show();
        }
    });

});

мне подсказали что через next не подходит и нужно вытащить элементы через селектор при помощи parents и search методы
Ответить с цитированием
  #4 (permalink)  
Старый 25.02.2020, 13:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

kirop,
Ответить с цитированием
  #5 (permalink)  
Старый 25.02.2020, 14:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

kirop,
let slide = $(this).parent('.task').next();
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Набор, массив, slideToggle miRrage jQuery 4 24.09.2017 17:18
Не могу выучить javascript. usertest Оффтопик 17 20.03.2016 08:33
Не могу решить ошибку в Angular!? maxprof Angular.js 4 27.07.2015 16:24
не могу связать ссылку HTML Шынгыс (X)HTML/CSS 1 14.07.2014 13:52
Не могу разобрать механизм отправки формы kreon Angular.js 3 19.12.2013 13:04