Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 4
1

Последовательное выполнение задачи

24.06.2020, 20:51. Просмотров 162. Ответов 4

Здравствуйте, коллеги.

Есть код
Код
$(".checkbox_block").live('click', function() {
	$(this).css("background-position","0 -19px");
	func();
});
По клику на чекбокс меняется вид чекбокса и отрабатывает функция func().
func() - достаточно ресурсная задача, тратит много времени.

Проблема в том, что вид чекбокса меняется только после полной отработки func().
Пытался запускать асинхронно (через then) - не помогает.

Вопрос:
Как сделать, что бы сначала менялся вид чекбокса, а потом запускалась func()?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2020, 20:51
Ответы с готовыми решениями:

Последовательное выполнение действий
Всем привет! Почему неверен код: $.when($("#comment").keyup().mouseup(), $("#add").click(),...

Последовательное выполнение функций разных div в одном скрипте
Идея простая. Есть блок, id=’animation_block’. В нем находятся четыре div-а, с display:none. Эти...

Последовательное выполнение функции
Есть некая функция: function checkmoname() { var mo_name =...

Последовательное выполнение ajax-запросов
У меня задача такая: в цикле перебирается набор элементов, и для каждого вызывается функция,...

4
896 / 829 / 197
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
24.06.2020, 22:25 2
Попробуйте через псевдокласс :checked менять свойства чекбокса
CSS
1
2
3
.checkbox_block:checked {
    
}
И ещё, .live - устаревшее, сейчас используется .on
Для (подгруженных позже)/сгенерированных элементов синтаксис такой:
Javascript
1
2
3
$('body').on('change','.checkbox_block', function(){  
               
 });
Для существующих при загрузке странице элементов - тоже подходит.
Для чекбокса чаще используется не событие клика, а изменение - change
0
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 4
25.06.2020, 11:10  [ТС] 3
Цитата Сообщение от Soldado Посмотреть сообщение
Попробуйте через псевдокласс :checked менять свойства чекбокса
Но мне нужно изменить свойство родительского элемента чекбокса.
Насколько я понял - это невозможно сделать с помощью псевдокласса.
0
896 / 829 / 197
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
25.06.2020, 13:05 4
Michel Waker, есть ещё временные задержки, используйте их для для запуска функции
1
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 4
25.06.2020, 20:45  [ТС] 5
Цитата Сообщение от Soldado Посмотреть сообщение
Michel Waker, есть ещё временные задержки, используйте их для для запуска функции
Действительно, поставил задержку всего 10мс и стили начали применяться раньше, чем начинает выполняется следующая функция.
Конечно, с точки зрения логики, криво использовать задержку там, где она не нужна, но другого логичного решения я пока не нашел.
Спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.06.2020, 20:45

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Промисы и последовательное выполнение функций
Добрый день Мне нужно последовательно выполнить асинхронную функцию(и) несколько раз. Пытаюсь...

Последовательное выполнение
Недавно начал изучать данный ЯП и столкнулся с проблемой, что после получения 1 сообщения скрипт...

последовательное выполнение
как мне сделать так что бы когда вибераю чек боксами программы для установки, после нажимаю на...

Последовательное выполнение команд
Здравствуйте! Пытаюсь сделать игру. В начала игры вводятся команды в InputField, после чего они...

Последовательное выполнение функций
Подскажите как сделать чтобы функции выполнялись одна за другой. Собственно есть производитель и...

Последовательное выполнение потоков
Господа, очень нужна ваша помощь, бьюсь уже третий день... 1. Необходимо чтобы сперва выполнялся...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.