Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Интересная задача по крайней мере для... (https://javascript.ru/forum/misc/41099-interesnaya-zadacha-po-krajjnejj-mere-dlya.html)

wildf 31.08.2013 04:13

Интересная задача по крайней мере для...
 
... меня. Надеюсь Вам она тоже покажется интересной.

Доброго времени суток уважаемые форумчане.

Задача собственно такая:

В HTML есть текст. К примеру:
Код:

<b>Введите ID:</b> <input type="text" maxlength="8" size="7" name="ID1">
<input type="text" maxlength="8" size="7" name="ID2">
<input type="text" maxlength="8" size="7" name="ID3">

А также есть ссылка формата: http://xxx.biz/xxx.php?razdel=xxx&post_xxx=12345678
где, http://xxx.biz/xxx.php?razdel=xxx&post_xxx= - постоянная ссылка
и 12345678 - окончание постоянной ссылки. Таких окончаний определенное количество. Постоянная ссылка + различные окончания = разные ссылки на выходе.

Кнопка Старт
Кнопка Стоп

Как должно все работать: Пользователь вводит ID в текстовые поля.
Жмет кнопку "Старт" и ссылки во фрейме открываются одна за другой. Они будут зациклены. Пока не нажмут кнопку стоп.

Если со второй частью все более-менее понятно, то в первой у меня возникли трудности.
Буду благодарен за помощь.
Заранее благодарю.
С ув.

bes 31.08.2013 11:09

как вариант
<iframe class="frame"></iframe><br/>
<button class="start">start</button>
<button class="stop">stop</button>
<input class="inp"/>
<script>
window.onload = function () {
	var frame = document.getElementsByClassName("frame")[0];
	var start = document.getElementsByClassName("start")[0];
	var stop  = document.getElementsByClassName("stop")[0];
	var inp   = document.getElementsByClassName("inp")[0];
	var int;
	var src = "some.php?param=";
	var mas = ["abc", "bcd", "cde", "def"];
	var len = mas.length;
	start.addEventListener("click", function () {
		clearInterval(int);
		var param = inp.value;
		var index;
		int = setInterval(function () {
			 index = mas.indexOf(param);
			if (index == -1) {
				param = mas[0];
			} 
			frame.src = src + param;
			console.log("index=" + index + "; param=" + param);
			if (index == len - 1) {
				param = mas[0]
			} else {
				param = mas[index + 1];
			};
		}, 1000);
	});
	stop.addEventListener("click", function () {
		clearInterval(int);
	});
}
</script>


some.php
<?php
echo $_GET["param"];
?>

wildf 31.08.2013 15:57

Цитата:

Сообщение от bes (Сообщение 270192)
как вариант
<iframe class="frame"></iframe><br/>
<button class="start">start</button>
<button class="stop">stop</button>
<input class="inp"/>
<script>
window.onload = function () {
	var frame = document.getElementsByClassName("frame")[0];
	var start = document.getElementsByClassName("start")[0];
	var stop  = document.getElementsByClassName("stop")[0];
	var inp   = document.getElementsByClassName("inp")[0];
	var int;
	var src = "some.php?param=";
	var mas = ["abc", "bcd", "cde", "def"];
	var len = mas.length;
	start.addEventListener("click", function () {
		clearInterval(int);
		var param = inp.value;
		var index;
		int = setInterval(function () {
			 index = mas.indexOf(param);
			if (index == -1) {
				param = mas[0];
			} 
			frame.src = src + param;
			console.log("index=" + index + "; param=" + param);
			if (index == len - 1) {
				param = mas[0]
			} else {
				param = mas[index + 1];
			};
		}, 1000);
	});
	stop.addEventListener("click", function () {
		clearInterval(int);
	});
}
</script>


some.php
<?php
echo $_GET["param"];
?>

Благодарю. Собственно сразу вопрос. some.php и xxx.php разные файлы?

Уточню: http://xxx.biz/xxx.php?razdel=xxx&post_xxx= к ххх.php доступа не будет. Мне нужно только подставлять id которые введет пользователь в текстовые поля, преобразовывать в ссылку и пускать по циклу

wildf 31.08.2013 17:56

Тема не актуальна. Спасибо всем кто откликнулся)


Часовой пояс GMT +3, время: 19:21.