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

помогите новичку в коде
Всем привет! только начал изучать js, читаю книгу, там такой код

<HTML>
<IMG ID = "myimg" SRC = '1.jpg' onclick = "imgchange()">
<SCRIPT>
var flag=false; // флаг (триггер)
function imgchange() { // обработчик щелчка на изображении
if (flag) {document.all.myimg.src = "1.jpg";}
else {  document.all.myimg.src = "2.jpg"; }
flag=!flag; // изменяем значение флага на противоположное
}
</SCRIPT>
</HTML>


все понятно, после клика по изображение, включается функция imgchange(), сначала переменная flag имеет false значение,
значит выполняется условие else, вот дальше не понятно: flag=!flag; // изменяем значение флага на противоположное - т.е значение флага из false меняется на true и потом при след. клике наступает условие if. Я не могу понять, почему когда я делаю так flag=true; то есть приравниваю к true, что должно ровняться этому условию: flag=!flag;,скрипт срабатывает один раз всего(картинка меняется один раз), а так: flag=!flag -бесконечно???

Последний раз редактировалось andyyy, 09.01.2017 в 21:40.
Ответить с цитированием