Есть ли функция или способ остановить работу функции setinterval после совпадения в jQuery или JS?Jquery

Программирование на jquery
Ответить
Anonymous
 Есть ли функция или способ остановить работу функции setinterval после совпадения в jQuery или JS?

Сообщение Anonymous »

Проект, над которым я работаю, генерирует 2 разных элемента p, каждый из которых запускается независимо. Загрузка после обратного вызова занимает около 5 секунд. Я не могу контролировать ни один из этих элементов p, но мне приходится ждать, пока он загрузится, чтобы запустить скрипт. Я использую функцию setInterval(), чтобы проверить, когда загружается один из элементов p. Затем я вставляю элемент div перед элементом p. Для этого я нацеливаюсь на класс каждого элемента p с помощью оператора переключения.
Проблема в том, что это будет продолжать генерировать div снова и снова. и мне это нужно только один раз после каждого звонка. Я могу остановить интервалы с помощью функцииclearInterval(), но это полностью убивает его, и у меня нет возможности перезапустить его, потому что он не сработает снова, даже если я вызову функцию setInterval().
Есть ли способ подойти к этому по-другому, лучше, без setInterval()?
var parent = $('.result-content'); //This is where the generated element will be placed.
var isAvailable = $(".result-content .available");// The code will run when this shows up
var isNotAvailable = $(".result-content .not-available");// The code will run when this shows up
var availableWrapper = $('',{ class: 'availableWrapper', text:'This box gets generated.' });// This doesn't exist until its called
var notAvailableWrapper = $('',{ class: 'notAvailableWrapper', text:'This box gets generated.' });// This doesn't exist until its called

function whichOneisVisible() {
var target = $('.result-content').children("p:first");

switch (target.attr('class')) {
case "available":
console.log('Congrats, this p element is available!');
isAvailable.after($(availableWrapper));
clearInterval(check);
break;
case "not-available":
console.log('Sorry, this p element is NOT available!');
isNotAvailable.after($(notAvailableWrapper));
break;
default:
console.log('Nothing is available!');
}
}
check = setInterval(whichOneisVisible, 550);

HTML..

This P element is not available
This is just a div
This is just a div
This is just a div



Подробнее здесь: https://stackoverflow.com/questions/791 ... on-running
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»