Javascript.RU

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

Перебор массива кнопкой
Доброго времени суток!
Есть код:
<script>
a = new Array(); 
a[0]='зима';   
a[1]='весна';
a[2]='лето';
a[3]='осень';
var i;
i = a[0];
function schet(){
   i = i ;
   document.getElementById('output').value = i;
}

</script>
<input type="button" value="Следующий" onClick="schet()"> Текст: <input id="output" type="text">


Подскажите пожалуйста, как сделать чтобы при нажатии на кнопку "Следующий", в текстовом поле каждый раз выводилось следующее время года?
Ответить с цитированием
  #2 (permalink)  
Старый 10.01.2015, 22:29
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

<script>
a = [];
a[0]='зима';  
a[1]='весна';
a[2]='лето';
a[3]='осень';
var i;
i = 0;
function schet(){
  document.getElementById('output').value = a[i];

  if (i == a.length -1) {
    i = 0;
  } else {
    i++
  }
}
 
</script>
<input type="button" value="Следующий" onclick="schet()"> Текст: <input id="output" type="text">
Ответить с цитированием
  #3 (permalink)  
Старый 10.01.2015, 22:38
Новичок на форуме
Отправить личное сообщение для Giyas Посмотреть профиль Найти все сообщения от Giyas
 
Регистрация: 10.01.2015
Сообщений: 8

А я ведь что то такое пытался попробовать, но не получилось)) Спасибо большое!
Ответить с цитированием
  #4 (permalink)  
Старый 10.01.2015, 22:43
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

<script>
  var i = 0;
  var arr = ['зима', 'весна', 'лето', 'осень'];
  function schet() {
    document.getElementById('output').value = arr[i++ % arr.length];
  }
</script>
<input type="button" value="Следующий" onclick="schet()">Текст:
<input id="output" type="text">
:)
Ответить с цитированием
  #5 (permalink)  
Старый 10.01.2015, 23:57
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744


<input type="button" value="Следующий">Текст:
<input id="output" type="text">
<script>
var arr = ['зима', 'весна', 'лето', 'осень'],
	iterator = arr.keys();
document.querySelector("input").addEventListener("click", function () {
	var next = iterator.next().value;
	if ( !next) {
		iterator = arr.keys();
		next = iterator.next().value;
	}
	this.nextElementSibling.value = arr[next];
});
</script>
Ответить с цитированием
  #6 (permalink)  
Старый 11.01.2015, 23:49
Новичок на форуме
Отправить личное сообщение для Giyas Посмотреть профиль Найти все сообщения от Giyas
 
Регистрация: 10.01.2015
Сообщений: 8

А как сделать чтобы текст кроме кнопки еще и сам менялся рандомно при обновлении страницы? И желательно без поля input.
Рандомно получается такой код:
<script>
a = new Array(4);
a[0]='зима'; 
a[1]='весна';
a[2]='лето';
a[3]='осень';
h = Math.round((Math.random()*3));
document.write(a[h]);
</script>

И нужно еще добавить кнопку как в верхнем варианте:
var i;
i = 0;
function schet(){
	document.getElementById('output').value = a[i];
	if (i == a.length -1) {
	i = 0;
	} else {
	i++
	}
}
</script>
<input type="button" value="Следующий" onclick="schet()">
Но без поля input
Ответить с цитированием
  #7 (permalink)  
Старый 12.01.2015, 03:09
Интересующийся
Посмотреть профиль Найти все сообщения от dkstra
 
Регистрация: 11.01.2015
Сообщений: 11

<html>
<head>

</head>
<body>


<input type="button">

<script>

a="зима весна лето осень".split(" ")
i = Math.round((Math.random()*3))
b=document.querySelector("input")
b.value = a[i]
b.onclick=function(){
    if(i==a.length-1) i=-1
    this.value = a[++i];
}

</script>
</body>
</html>
Ответить с цитированием
  #8 (permalink)  
Старый 12.01.2015, 12:17
Новичок на форуме
Отправить личное сообщение для Giyas Посмотреть профиль Найти все сообщения от Giyas
 
Регистрация: 10.01.2015
Сообщений: 8

Спасибо! Работает, но маленько не так, как хотелось бы... Дело в том, что вместо времени года может быть предложение и не три, а гораздо больше. Поэтому желательно именно в таком виде:
a = new Array(4);
a[0]='зима';
a[1]='весна';
a[2]='лето';
a[3]='осень';

И чтобы значения выводились не в кнопке и не в текстовом поле, а просто как чистый текст. Вот ссылка, как должно примерно работать, но там у меня кнопка пропадает после нажатия, и если последнее слово зима, то кнопка не работает... Ссылка: http://learn.javascript.ru/play/DMEBac
Ответить с цитированием
  #9 (permalink)  
Старый 12.01.2015, 13:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от Giyas
но там у меня кнопка пропадает после нажатия
document.write это зло
Ответить с цитированием
  #10 (permalink)  
Старый 12.01.2015, 13:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Giyas,
document.write - как дописать документ
и куча подобных тем
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка массива по возрастанию другого массива. vas88811 Events/DOM/Window 4 12.01.2014 10:31
Перебор массива - вложенный цикл SWin Общие вопросы Javascript 35 27.12.2013 05:06
JS Перебор ассоциативного многомерного массива zbs2000 Events/DOM/Window 8 23.07.2012 01:23
Сортировка массива по ключу RazZzeR Элементы интерфейса 9 21.07.2012 19:31
Перебор массива объектов Триви jQuery 12 26.08.2011 09:22