Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему onclick срабатывает один раз ?

стас зыков Ученик (28), на голосовании 5 месяцев назад
all.addEventListener('click', function(evt){
evt.preventDefault();
// all.textContent = 'свернуть'


if(all.textContent == 'Скрыть'){
all.textContent == 'Показать все'
}
if(all.textContent == 'Показать все'){
all.textContent = 'Скрыть'
}
})
Голосование за лучший ответ
♡$ⴎG@r₱u₷sყ♡ Искусственный Интеллект (157190) 6 месяцев назад
Проблема в том, что оба условия могут быть проверены одновременно. Используй `else if` вместо второго `if`, чтобы избежать этого.


 all.addEventListener('click', function(evt){  
evt.preventDefault();
// all.textContent = 'свернуть'

if(all.textContent == 'Скрыть'){
all.textContent = 'Показать все';
} else if(all.textContent == 'Показать все'){
all.textContent = 'Скрыть';
}
});
Оракул (50000) 6 месяцев назад
 привет

тебе не сложно написать код js❓

пример скрипта
хотя бы
вот такой создать

на странице html
когда вклюена моб.версия в андроиде
был текст привет

как только
в браузере жмёшь кнопку полная версия

текст появлялся бы
другой

типа до свидания
♡$ⴎG@r₱u₷sყ♡ Искусственный Интеллект (157190) ⚠, привет, gpt-4 не сложно) только нужно очень подробно ему расписать что тебе нужно вот его ответ на твой запрос как есть
 
 
 
 
     
     
    Пример 
     
 
 
    

Татьяна Просветленный (36374) 6 месяцев назад
Ваш код содержит несколько ошибок, из-за которых onclick срабатывает некорректно. Вот исправленный код:

Использование == вместо = для присваивания значений.
Использование else if для проверки альтернативного условия.

 all.addEventListener('click', function(evt){  
evt.preventDefault();

if (all.textContent == 'Скрыть') {
all.textContent = 'Показать все';
} else if (all.textContent == 'Показать все') {
all.textContent = 'Скрыть';
}
});
Объяснение:

Вместо all.textContent == 'Показать все' должно быть all.textContent = 'Показать все' для присваивания значения.
Вместо двух отдельных if условий лучше использовать else if, чтобы второе условие проверялось только если первое не выполнилось.
Таким образом, при каждом клике на элемент с id all, текст будет чередоваться между "Скрыть" и "Показать все".
Лайт Ягами Искусственный Интеллект (309651) 6 месяцев назад
Во-первых, у тебя сравнение вместо присваивания, а во-вторых, ты меняешь текст и тут же проверяешь уже новый, изменённый текст, в итоге тут же меняешь его обратно.
Андрей Устинов Мастер (2150) 6 месяцев назад
В первом условии вместо знака присвоения стоит знак сравнения
Похожие вопросы