Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.03.2020, 10:41
III III вне форума
Аспирант
Отправить личное сообщение для III Посмотреть профиль Найти все сообщения от III
 
Регистрация: 08.10.2014
Сообщений: 44

Выполнение JS после того как включен checkbox.
Всем привет. С JS не дружу, но надо. Имею скрипт из инета
var textNodes = [];
var textNodes_data = [];
var i=0;
function search_textNodes(b) {
    b = b.childNodes;
    for (var c = 0, d = b.length; c < d; c++) {
        var a = b[c];
        if (a.nodeType == 3) {
            textNodes.push(a);
            textNodes_data.push(a.data);
            a.data = ""
        } else a.hasChildNodes() && search_textNodes(a)
    }
};

его выполнение начинается с открытием страницы. Надо чтобы скрипт начал работать не с открытием страницы, а после включения checkbox.
Сheckbox имеет class="envelope__check". Желательно, чтобы ожидание начала работы скрипта, после включение checkbox, было секунды 2. Можно и без ожидания. Надеюсь для спецов это несложно.
Всем спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 13.03.2020, 10:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 29,047

III,
если есть сомнение, в какой теме задать свой вопрос, пишите здесь Общие вопросы Javascript
Ответить с цитированием
  #3 (permalink)  
Старый 13.03.2020, 11:16
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 539

document.querySelector(".envelope__check").addEventListener('change', (ev) => ev.target.checked && setTimeout(()=>search_textNodes(???), 2000))


??? - тот элемент, где вам нужно искать текстовые узлы.
Вы не сказали, где
Ответить с цитированием
  #4 (permalink)  
Старый 13.03.2020, 12:16
III III вне форума
Аспирант
Отправить личное сообщение для III Посмотреть профиль Найти все сообщения от III
 
Регистрация: 08.10.2014
Сообщений: 44

Спасибо за быстрый ответ. Правильно ли я понял, что приведённую вами строку,
надо вставить первой в скрипте и в search_textNodes(???) вместо ??? вписать test, такой id у меня
отображается на странице.
Ответить с цитированием
  #5 (permalink)  
Старый 13.03.2020, 12:42
III III вне форума
Аспирант
Отправить личное сообщение для III Посмотреть профиль Найти все сообщения от III
 
Регистрация: 08.10.2014
Сообщений: 44

Спасибо за помощь. Ваша строка выводит сразу полностью содержание id test, мне надо чтобы содержимое печаталось, как в моём скрипте. Вот полностью скрипт
var textNodes = [];
var textNodes_data = [];
var i=0;

function search_textNodes(b) {
    b = b.childNodes;
    for (var c = 0, d = b.length; c < d; c++) {
        var a = b[c];
        if (a.nodeType == 3) {
            textNodes.push(a);
            textNodes_data.push(a.data);
            a.data = ""
        } else a.hasChildNodes() && search_textNodes(a)
    }
};

var d = document.getElementById('test');
search_textNodes(d);
function str_write() {
    var a = textNodes_data[i];
    if (a) {
        textNodes[i].data += a.charAt(0);
        textNodes_data[i] = a.substr(1)
    } else i++;
    i < textNodes.length && setTimeout(arguments.callee, 90)

};

str_write()

Последний раз редактировалось III, 13.03.2020 в 12:45.
Ответить с цитированием
  #6 (permalink)  
Старый 16.03.2020, 08:07
III III вне форума
Аспирант
Отправить личное сообщение для III Посмотреть профиль Найти все сообщения от III
 
Регистрация: 08.10.2014
Сообщений: 44

Всем спасибо. Решение найдено. Тему можно закрыть.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как запустить выполнение слайдера в модальном окне, только после вызова окна? Lefseq Общие вопросы Javascript 1 20.12.2019 14:23
Как стилизовать button, checkbox и select в Chrome как Firefox? Demath (X)HTML/CSS 1 06.05.2019 07:58
Cкрипт javascript работает только после того, как курсор в адресную строку qwaker Элементы интерфейса 4 25.04.2014 16:04
Как передавать параметры из php скрипта в js imissyouso Общие вопросы Javascript 3 01.08.2012 17:24
Как заблокировать checkbox кроме выделенных YCsys Events/DOM/Window 5 06.06.2012 16:34