Гость
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / После включения первым чекбоксом второго чекбокса выполнить скрипт / 5 сообщений из 5, страница 1 из 1
17.03.2020, 12:34
    #39938192
bsi19
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После включения первым чекбоксом второго чекбокса выполнить скрипт
Всем привет. Есть два чекбокса. Программно первым чекбоксом включаю второй чекбокс. Как надо сделать так, чтобы после после этих манипуляций заработал скрипт для второго чекбокса?
Код: javascript
1.
2.
3.
4.
document.getElementById('envelope__check').onclick = function (){
if (document.getElementById('envelope__check').checked == true){
document.getElementById('show').checked = true;}
}


влючил чекбокс, далее должен сработать этот скрипт
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
let checkBox = document.getElementById("show"); // Получаем чекбокс по id
    let firstimg = document.getElementById('first'); // Получаем первый div по id (Размещаться при помощи css может где угодно
    let secondimg = document.getElementById('second'); // Получаем второй div по id (Размещаться при помощи css может где угодно
    let threedimg = document.getElementById('three'); // Получаем второй div по id (Размещаться при помощи css может где угодно
    function showFirst() { // Функция отображения первой картинки
        firstimg.style.display = "block";
    }
    function showSecond() { // Функция отображения второй картинки
        secondimg.style.display = "block";
    }
    function showThree() { // Функция отображения третьей картинки
        threedimg.style.display = "block";
    }

    let show = localStorage.getItem('show'); // Проверяем запись в localstorage
    if(show){ // Если не пустое то...
        if (show == "true") { // Проверяем - если равно true, то...
            checkBox.checked = true; // Делаем чекбок активным
            showFirst(); // Показываем первую картинку
            showSecond(); // Показываем вторую картинку
	    showThree();// Показываем третью картинку
        }
    }

    function ShowPics() { // В случае нажатия на чекбокс
        if (checkBox.checked == true){ // Проверяем выбран или не выбран. Если выбран то...
            setTimeout(showFirst, 1000); // Через 1 сек показываем первую картинку
            setTimeout(showSecond, 2000); // Ещё через2сек показывам вторую картинку
	    setTimeout(showThree, 3000); // Ещё через 3 сек показывам третью картинку
            localStorage.setItem('show', 'true'); // Делаем запись в localstorage
        } else { // Если не выбран чекбокс, то...
            firstimg.style.display = "none"; // Скрываем первую картинку
            secondimg.style.display = "none"; // Скрываем вторую картинку
	    threeimg.style.display = "none"; // Скрываем третью картинку
            localStorage.setItem('show', 'false'); // Делаем запись в localstorage
        }
    }


Файл во вложении.
Всем спасибо.
...
Рейтинг: 0 / 0
17.03.2020, 13:19
    #39938225
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После включения первым чекбоксом второго чекбокса выполнить скрипт
bsi19
Программно первым чекбоксом включаю второй чекбокс. Как надо сделать так, чтобы после после этих манипуляций заработал скрипт для второго чекбокса?

Вызвать его при выключении?

Учу плохому:
Код: javascript
1.
2.
3.
4.
5.
6.
 
if (document.getElementById('envelope__check').checked == true) // 1. == true не нужно
if (document.getElementById('envelope__check').checked)  // 2. не задолбало еще везде писать document.getElementById ?
var getById = document.getElementById;
if (getById('envelope__check').checked) // 3. onclick является свойством этого элемента, т.е он будет равен this
if (this.checked)


Завтра еще подкину.
...
Рейтинг: 0 / 0
17.03.2020, 13:23
    #39938226
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После включения первым чекбоксом второго чекбокса выполнить скрипт
Код: javascript
1.
2.
3.
4.
5.
6.
let checkBox = document.getElementById("show");
let firstimg = document.getElementById('first');
let secondimg = document.getElementById('second');
let threedimg = document.getElementById('three');
//Копипаста в 2к20??
let [checkBox, firstimg, secondimg, threedimg] = ["show","first","second","three"].map(v=>document.getElementById(v));
...
Рейтинг: 0 / 0
17.03.2020, 14:35
    #39938278
bsi19
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После включения первым чекбоксом второго чекбокса выполнить скрипт
Сделал так
Код: html
1.
2.
<span>Включить первым</span><input id="envelope__check" type="checkbox"/>
<span>Показать</span><input type="checkbox" id="show" onchange="ShowPics()">

и так
Код: javascript
1.
2.
3.
document.getElementById("envelope__check").addEventListener('change',function(){
        document.getElementById("show").click();
    });

вроде работает. Всем спасибо.
...
Рейтинг: 0 / 0
18.03.2020, 07:08
    #39938495
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После включения первым чекбоксом второго чекбокса выполнить скрипт
bsi19,

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
-if(show){ 
-        if (show == "true")
+if (show && show == "true")

-function showFirst() {
-        firstimg.style.display = "block";
-}
+function show(el) {el.style.display = "block";}

-firstimg.style.display = "none";
+function hide(el) {el.style.display = "none";}
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / После включения первым чекбоксом второго чекбокса выполнить скрипт / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]