Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 02.12.2014, 10:47   #1
Bender1000
Пользователь
 
Регистрация: 20.05.2013
Сообщений: 37
Репутация: 25
Печаль Многоуровневый if/else

Я совсем начинаю (
Читаю учебник по JavaScript. Хочу сделать пробную работу, чтобы в зависимости от нажатия "1" или "2" менялась картинка и описание, но браузер никак не реагирует на скрипт.

Код HTML:
...
<head>
...
	<script src="script.js"></script>
</head>
<body onload="greetings();">
...	
<div class="story">
		<img id="story" src="story/scene0.jpg" /> <br />
		Выберите, что вы сделаете?
	</div>
	<form class="form" name="backToMain" onload="changeScene(option);">
		<input type="button" value="1" onclick="changeScene(1);" />
		<input type="button" value="2" onclick="changeScene(2);" />
	</form>
...
</body>
...
Код:
...
function changeScene(option) {
var message = "";
if (curScene == 0) {
curScene = 1;
message = "Итак, вы отправляетесь в путешествие"; 
}
else if (curscene == 1) {
if (decision == 1) {
curScene = 2;
message = "Описание картинки" ; 
}
else {
curScene = 3;
message = "Другое описание" ;
}
}
document.getElementById("story").src = "story/scene" + curScene + ".jpg";
alert(message);
}
...
Картинки сохранены в папке story и идут в порядке от 0 до 3-х.

Что не так? )))

Последний раз редактировалось Stilet; 02.12.2014 в 11:36.
Bender1000 вне форума   Ответить с цитированием
Старый 02.12.2014, 11:00   #2
mv28jam
Профессионал
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Адрес: РФ, Московская обл.
Сообщений: 2,755
Репутация: 1175
По умолчанию

Смотрите ошибки исполнения скрипта.
Код:
document.getElementById("story").sr c = "story/scene" + curScene + ".jpg";
Как минимум пробел в src убрать.
__________________
Стрелок-охотник
mv28jam вне форума   Ответить с цитированием
Старый 02.12.2014, 11:02   #3
Arigato
СуперПрограммист
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Адрес: Россия РФ Регистрация: 27.07.2008
Сообщений: 13,846
Репутация: 3619
По умолчанию

Этот пробел форум добавил, потому что ТС не слышал о теге CODE.
__________________
E-Mail: arigato.freelance@gmail.com
Arigato вне форума   Ответить с цитированием
Старый 02.12.2014, 11:36   #4
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,840
Репутация: 6850
По умолчанию

Я поправил оформление.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 02.12.2014, 15:55   #5
Naive
Раздолбайских Дел
Профессионал
 
Аватар для Naive
 
Регистрация: 22.05.2009
Адрес: Екатеринбург
Сообщений: 3,813
Репутация: 2361
По умолчанию

Код:
<form class="form" name="backToMain" onload="changeScene(option);">
тут option неопределен

Код:
function changeScene(option) {
  var message = "";
  if (curScene == 0) { // curScene не определено
    curScene = 1;
    message = "Итак, вы отправляетесь в путешествие"; 
  } else if (curscene == 1) { // curscene не определен, js - регистрозависимый язык
    if (decision == 1) { // decision не определен
      curScene = 2;
      message = "Описание картинки" ; 
    } else {
      curScene = 3;
      message = "Другое описание" ;
    }
  }
  document.getElementById("story").src = "story/scene" + curScene + ".jpg";
  alert(message);
}
Итого, первая поломка при загрузке страницы (формы).
Вторая — при на второй строчке функции при нажатии.
__________________
Работаю. В этот раз за деньги.
Жду ваши искренние спасибы на яндекс-кошелек: 410011068154587
Naive вне форума   Ответить с цитированием
Старый 04.12.2014, 13:04   #6
Bender1000
Пользователь
 
Регистрация: 20.05.2013
Сообщений: 37
Репутация: 25
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
Итого, первая поломка при загрузке страницы (формы).
Вторая — при на второй строчке функции при нажатии.
Все равно не работает.
1. Определил начальный curScene
2. Установил option как decision.

Правильно ли я понимаю, что скрипт отталкивается от элемента decision, и в зависимости от того, равен он 1 или 2 - должен срабатывать тот или иной вариант сценария по if/else?

JS:
Код:
 var curScene = 0;

function changeScene(decision) {
var message = "";
if (curScene == 0) {
curScene = 1;
message = "Итак, вы отправляетесь в путешествие"; }
else if (curScene == 1) {
if (decision == 1) {
curScene = 2;
message = "Что тут за картинка?";}
else {
curScene = 3;
message = "Эту картинку я тоже не знаю" ;}
document.getElementById("story").src = "story/scene" + curScene + ".jpg";
alert(message);
}
}
HTML:
Код:
<form class="form" name="backToMain" onload="changeScene(decision);">
		<input type="button" id="decision1" value="1" onclick="changeScene(1)" />
		<input type="button" id="decision2" value="2" onclick="changeScene(2)" />
	</form>
Что не так? ((
Bender1000 вне форума   Ответить с цитированием
Старый 04.12.2014, 14:05   #7
Fenex
Участник клуба
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
Репутация: 439
По умолчанию

Цитата:
Все равно не работает.
В консоли ошибки какие?
__________________
^-.-^ Клавогонки.ру - набирай скорость!
Fenex вне форума   Ответить с цитированием
Старый 04.12.2014, 14:21   #8
Bender1000
Пользователь
 
Регистрация: 20.05.2013
Сообщений: 37
Репутация: 25
По умолчанию

Цитата:
Сообщение от Fenex Посмотреть сообщение
В консоли ошибки какие?
Всё заработало, кроме одного: программа не выдает curScene1 сразу, хотя в скрипте прописано, что если curScene==0, то curScene==1, а curScene==0 указана как глобальная переменная.

Вопрос: почему скрипт сразу не воспринимает curScene==0 и не принимает curScene==1
?
Bender1000 вне форума   Ответить с цитированием
Старый 04.12.2014, 14:29   #9
mv28jam
Профессионал
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Адрес: РФ, Московская обл.
Сообщений: 2,755
Репутация: 1175
По умолчанию

Цитата:
Все равно не работает.
Всё работает именно так как вы это запрограммировали, я проверил инфа 100%.
Код:
function changeScene(decision) {
	var message = "";
	if (curScene == 0) {
		curScene = 1;
		message = "Итак, вы отправляетесь в путешествие"; 
	}else if (curScene == 1) {
		if (decision == 1) {
			curScene = 2;
			message = "Что тут за картинка?";
    	        }else {
			curScene = 3;
			message = "Эту картинку я тоже не знаю" ;
		}
		document.getElementById("story").src = "https://www.google.com/images/errors/logo_sm_" + curScene + ".png";
		alert(message);
	}
}
При загрузке не выводится сообщение "Итак, вы отправляетесь в путешествие" тк в else ветка никогда не попадёт в первом вызове. При нажатии кнопки 1 усё работает, картинка меняется, сообщение выводится 1 раз, тк опять же никуда не попдёшь после установки в 3.

Форматируйте код и будет сразу видно.
__________________
Стрелок-охотник

Последний раз редактировалось mv28jam; 04.12.2014 в 14:41.
mv28jam вне форума   Ответить с цитированием
Старый 04.12.2014, 16:48   #10
Fenex
Участник клуба
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
Репутация: 439
По умолчанию

отформатировать можно тут, к слову
http://jsbeautifier.org/
__________________
^-.-^ Клавогонки.ру - набирай скорость!
Fenex вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многоуровневый нумерованный список Word2010 КарандашТМ Microsoft Office Word 3 13.09.2014 18:29
Многоуровневый список в ворде. NewLamer&Programer Помощь студентам 1 28.06.2013 09:31
многоуровневый комбобокс на основе ExtJS sashonk JavaScript, Ajax 0 02.09.2010 16:58
Многоуровневый заголовок (Delphi) VadEr Помощь студентам 1 02.03.2010 15:54
Многоуровневый список и стили в Word 2007 CaptainNemo Microsoft Office Word 12 08.06.2009 23:45


17:07.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.