Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.11.2017, 20:22
Новичок на форуме
Отправить личное сообщение для Martin Посмотреть профиль Найти все сообщения от Martin
 
Регистрация: 02.11.2017
Сообщений: 4

Что я делаю не так?
Только начал изучать JavaScript.

Вот небольшая html страница. Есть три флажка и параграф. И я хочу, чтобы при нажатии на какую нибудь из них менялся цвет текса параграфа.

<body>

<p><input type="checkbox" id="first"> Первый стиль </p>
<p><input type="checkbox" id="second"> Второй стиль </p>
<p><input type="checkbox" id="third"> Третий стиль </p>

<p id="paragraph">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nostrum ducimus consectetur voluptatem numquam, hic possimus quidem ratione. Laudantium, reprehenderit, cumque.</p>

//==============CSS==========
.firstStyle {
color: red;
}

.secondStyle {
color: blue;
}

.thirdStyle {
color: brown;
}

//============JavaScript==========
<script>
function newFunc() {
if (document.getElementById('first').checked)
{document.getElementById('paragraph').className = "firstStyle";}
}
</script>



</body>
Ответить с цитированием
  #2 (permalink)  
Старый 02.11.2017, 20:37
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Martin,
Нужно зарегистрировать клик и вызывать функцию при клике.
document.getElementById('first').onclick = function() {
  newFunc();
}
Ответить с цитированием
  #3 (permalink)  
Старый 02.11.2017, 20:49
Новичок на форуме
Отправить личное сообщение для Martin Посмотреть профиль Найти все сообщения от Martin
 
Регистрация: 02.11.2017
Сообщений: 4

Сообщение от Rasy Посмотреть сообщение
Martin,
Нужно зарегистрировать клик и вызывать функцию при клике.
document.getElementById('first').onclick = function() {
  newFunc();
}
Да, я сделал так, спасибо!
Но я хотел вызывать функции именно тогда, когда установлен флажок, то есть checked. Потому что используя onclick бывает так, что перезагружаешь страницу, флажок не стоит, но стиль применился.
Ответить с цитированием
  #4 (permalink)  
Старый 02.11.2017, 20:56
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Сообщение от Martin
Но я хотел вызывать функции именно тогда, когда установлен флажок, то есть checked.
Ничего страшного что функция будет вызываться, так и должно быть. Стиль применится только, если флажок отмечен. После перезагрузки неприменится.
Ответить с цитированием
  #5 (permalink)  
Старый 02.11.2017, 20:59
Новичок на форуме
Отправить личное сообщение для Martin Посмотреть профиль Найти все сообщения от Martin
 
Регистрация: 02.11.2017
Сообщений: 4

Сообщение от Rasy Посмотреть сообщение
Ничего страшного что функция будет вызываться, так и должно быть. Стиль применится только, если флажок отмечен. После перезагрузки неприменится.
Ну вот я отмечаю флажок, применяется стиль. Но если я перезагружу страницу, то флажок остается отмеченным, но стиль не применяется. Теперь, если я убираю флажок, стиль начинает применяться.
Ответить с цитированием
  #6 (permalink)  
Старый 02.11.2017, 21:03
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Сообщение от Martin
то флажок остается отмеченным
Значит событие кэшируется. Тогда надо вызывать функцию при загрузке страницы.
function newFunc() {
if (document.getElementById('first').checked) 
{document.getElementById('paragraph').className = "firstStyle";}
}
newFunc();
Ответить с цитированием
  #7 (permalink)  
Старый 02.11.2017, 21:09
Новичок на форуме
Отправить личное сообщение для Martin Посмотреть профиль Найти все сообщения от Martin
 
Регистрация: 02.11.2017
Сообщений: 4

Сообщение от Rasy Посмотреть сообщение
Значит событие кэшируется. Тогда надо вызывать функцию при загрузке страницы.
function newFunc() {
if (document.getElementById('first').checked) 
{document.getElementById('paragraph').className = "firstStyle";}
}
newFunc();
О, вот! Спасибо бро, получилось
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что не так с AJAX MyNameIsCode AJAX и COMET 6 20.04.2017 07:17
НАУЧИТЕ СКРИПТ СЧИТАТЬ ИЛИ ЧТО НЕ ТАК СО СТЕПЕНЯМИ kippusen Общие вопросы Javascript 3 18.11.2014 02:21
Посоветуйте новику, что я делаю не так danil-n2 Общие вопросы Javascript 5 26.04.2013 21:22
О фрилансе (Личный опыт) free Оффтопик 105 18.08.2011 17:02
Разбираем AjaxOOP eai Общие вопросы Javascript 41 04.11.2010 23:37