Вход

Просмотр полной версии : Перебрасывает в пустую страницу.


Родион420
05.06.2015, 23:43
<script language="JavaScript">
<!--
var timerId = setInterval(function() {
var a=Math.round(Math.random()*35)
image = new Array();
image[0]="rotate_image/0.png"
image[1]="rotate_image/1.png"
image[2]="rotate_image/2.png"
image[3]="rotate_image/3.png"
image[4]="rotate_image/4.png"
image[5]="rotate_image/5.png"
image[6]="rotate_image/6.png"
image[7]="rotate_image/7.png"
image[8]="rotate_image/8.png"
image[9]="rotate_image/9.png"
image[10]="rotate_image/10.png"
image[11]="rotate_image/11.png"
image[12]="rotate_image/7.png"
image[13]="rotate_image/7.png"
image[14]="rotate_image/12.png"
image[15]="rotate_image/13.png"
image[16]="rotate_image/14.png"
image[17]="rotate_image/15.png"
image[18]="rotate_image/15.png"
image[19]="rotate_image/15.png"
image[20]="rotate_image/15.png"
image[21]="rotate_image/3.png"
image[22]="rotate_image/3.png"
image[23]="rotate_image/16.png"
image[24]="rotate_image/17.png"
image[25]="rotate_image/17.png"
image[26]="rotate_image/17.png"
image[27]="rotate_image/18.png"
image[28]="rotate_image/18.png"
image[29]="rotate_image/18.png"
image[30]="rotate_image/19.png"
image[31]="rotate_image/20.png"
image[32]="rotate_image/20.png"
image[33]="rotate_image/21.png"
image[34]="rotate_image/21.png"
image[35]="rotate_image/21.png"
document.write ("<img src="+image[a]+">");
text = new Array();
text[0]="Рома.."
text[1]="Серге.."
text[2]="No Name"
text[3]="Расим.."
text[4]="No Name"
text[5]="Дес.."
text[6]="Джали.."
text[7]="Его.."
text[8]="Адел.."
text[9]="Фили.."
text[10]="Була.."
text[11]="Мара.."
text[12]="Алекса.."
text[13]="Дани.."
text[14]="Паш.."
text[15]="Влади.."
text[16]="Арту.."
text[17]="Дмитр.."
text[18]="Кири.."
text[19]="Фани.."
text[20]="Родио.."
text[21]="Ива.."
text[22]="No Name"
text[23]="No Name"
text[24]="Вади.."
text[25]="Владис.."
text[26]="Джорд.."
text[27]="Георг.."
text[28]="No Name"
text[29]="No Name"
text[30]="No Name"
text[31]="Сук.."
text[32]="Васи.."
text[33]="Айза.."
text[34]="Ильги.."
text[35]="Арте.."
text[36]="Михаи.."
text[37]="Тиму.."
text[38]="Фари.."
text[39]="Дени.."
text[40]="Рамаза.."
text[41]="Сама.."
text[42]="Григори.."
text[43]="Инса.."
text[44]="Вади.."
text[45]="Аде.."
var a = Math.round(Math.random() * (text.length - 1))
document.write (text[a]);
}, 20000);
setTimeout(function() {
clearInterval(timerId);
}, 120000);
</script>
Вот такой код, вставляю скрипт на сайт и через 20 секунд меня перебрасывает в пустое окно, скрипт естественно работает. Как решить проблему? Как сделать так, чтобы скрипт включался на странице, а не в отдельном окне?

рони
06.06.2015, 00:07
Родион420,
Запуск document.write после загрузки приведёт к очистке документа.
https://learn.javascript.ru/document-write

document.createElement(tag)Создать элемент с тегом tag
document.createTextNode(txt)Создать текстовый узел с текстом txt
https://learn.javascript.ru/modifying-document

Родион420
06.06.2015, 11:34
Меняю функцию, но не особо получается. Теперь просто скрипт не работает(

рони
06.06.2015, 12:10
Родион420,
где код?

рони
06.06.2015, 12:19
Родион420,
<!DOCTYPE HTML>

<html>

<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>

<body>
<script>
var timerId = setInterval(function() {
var a=Math.floor(Math.random()*35)
image = new Array();
image[0]="rotate_image/0.png"
image[1]="rotate_image/1.png"
image[2]="rotate_image/2.png"
image[3]="rotate_image/3.png"
image[4]="rotate_image/4.png"
image[5]="rotate_image/5.png"
image[6]="rotate_image/6.png"
image[7]="rotate_image/7.png"
image[8]="rotate_image/8.png"
image[9]="rotate_image/9.png"
image[10]="rotate_image/10.png"
image[11]="rotate_image/11.png"
image[12]="rotate_image/7.png"
image[13]="rotate_image/7.png"
image[14]="rotate_image/12.png"
image[15]="rotate_image/13.png"
image[16]="rotate_image/14.png"
image[17]="rotate_image/15.png"
image[18]="rotate_image/15.png"
image[19]="rotate_image/15.png"
image[20]="rotate_image/15.png"
image[21]="rotate_image/3.png"
image[22]="rotate_image/3.png"
image[23]="rotate_image/16.png"
image[24]="rotate_image/17.png"
image[25]="rotate_image/17.png"
image[26]="rotate_image/17.png"
image[27]="rotate_image/18.png"
image[28]="rotate_image/18.png"
image[29]="rotate_image/18.png"
image[30]="rotate_image/19.png"
image[31]="rotate_image/20.png"
image[32]="rotate_image/20.png"
image[33]="rotate_image/21.png"
image[34]="rotate_image/21.png"
image[35]="rotate_image/21.png"
text = new Array();
text[0]="Рома.."
text[1]="Серге.."
text[2]="No Name"
text[3]="Расим.."
text[4]="No Name"
text[5]="Дес.."
text[6]="Джали.."
text[7]="Его.."
text[8]="Адел.."
text[9]="Фили.."
text[10]="Була.."
text[11]="Мара.."
text[12]="Алекса.."
text[13]="Дани.."
text[14]="Паш.."
text[15]="Влади.."
text[16]="Арту.."
text[17]="Дмитр.."
text[18]="Кири.."
text[19]="Фани.."
text[20]="Родио.."
text[21]="Ива.."
text[22]="No Name"
text[23]="No Name"
text[24]="Вади.."
text[25]="Владис.."
text[26]="Джорд.."
text[27]="Георг.."
text[28]="No Name"
text[29]="No Name"
text[30]="No Name"
text[31]="Сук.."
text[32]="Васи.."
text[33]="Айза.."
text[34]="Ильги.."
text[35]="Арте.."
text[36]="Михаи.."
text[37]="Тиму.."
text[38]="Фари.."
text[39]="Дени.."
text[40]="Рамаза.."
text[41]="Сама.."
text[42]="Григори.."
text[43]="Инса.."
text[44]="Вади.."
text[45]="Аде.."
var b = Math.floor(Math.random() * text.length);
var div = document.createElement('div');
div.innerHTML = "<img src="+image[a]+">" + text[b];
document.body.appendChild(div)
}, 800);
setTimeout(function() {
clearInterval(timerId);
}, 12000);
</script>

</script>
</body>

</html>

Родион420
06.06.2015, 13:39
Спасибо огромное! Но возможно ли сделать, чтобы картинки падали горизантально, как раньше, а сейчас падает вертикально. И еще русские символы перестали читаться "���.."

рони
06.06.2015, 13:57
Родион420,
сразу ставьте <meta charset="utf-8"> потом пишите текст
и прочитайте https://learn.javascript.ru/modifying-document
создайте картинку - установите src -добавьте на страницу -- создайте текст добавьте на страницу
или неблочный контейнер var div = document.createElement('span');
или добавить
<style type="text/css">
div{
display: inline-block;
}

</style>

Родион420
06.06.2015, 14:37
Спасибо! Но кодировка 8 все равно не преображает русскоязычные символы(

Endy
06.06.2015, 14:52
Родион420,
сразу ставьте <meta charset="utf-8"> +
Зайдите через Notepad++ верхнем меню выбираете пункт Кодировки, подпункт "Преобразовать в UTF-8 (без ВОМ)" сохраните и проверьте.

рони
06.06.2015, 14:55
Родион420,
тут то работает? значит смените редактор или формат редактируемой страницы
Исправление кодировки UTF8 без BOM (http://paperplane.su/ispravlenie-karakul-na-wordpress-pri-pomoshhi-utf8-bez-bom/)

Родион420
06.06.2015, 15:18
А в чем может быть проблема того, что изображения не прогружаются, а на компьютере все работает оптимально.

рони
06.06.2015, 15:21
Родион420,
путь картинок разный

Родион420
06.06.2015, 15:35
Путь точный к папке с картинками. Но не прогружаются.

Родион420
06.06.2015, 15:48
Родион420,
путь картинок разный

Все, сделал) Спасибо за помощь!

Родион420
06.06.2015, 16:08
Только возникла другая проблема, таймер не останавливает функцию. Брал Ваш код.

рони
06.06.2015, 16:34
Родион420,
нет кода нет совета

Родион420
06.06.2015, 17:03
<head>
<meta charset="utf-8">
</head>
<style type="text/css">
div{
display: inline-block;
}
</style>
<body>
<script>
var timerId = setInterval(function() {
var a=Math.floor(Math.random()*2)
image = new Array();
image[0]="wp-content/themes/simple-shop/rotate_image/0.png"
image[1]="wp-content/themes/simple-shop/rotate_image/1.png"
text = new Array();
text[0]="Рома.."
text[1]="Сере.."
text[2]="No Name"
text[3]="Расим.."
text[4]="No Name"
text[5]="Дес.."
text[6]="Джали.."
text[7]="Его.."
text[8]="Адел.."
text[9]="Фили.."
text[10]="Була.."
text[11]="Мара.."
text[12]="Алекса.."
text[13]="Дани.."
text[14]="Паш.."
text[15]="Влади.."
text[16]="Арту.."
text[17]="Дмитр.."
text[18]="Кири.."
text[19]="Фани.."
text[20]="Родио.."
text[21]="Ива.."
text[22]="No Name"
text[23]="No Name"
text[24]="Вади.."
text[25]="Владис.."
text[26]="Джорд.."
text[27]="Георг.."
text[28]="No Name"
text[29]="No Name"
text[30]="No Name"
text[31]="Сук.."
text[32]="Васи.."
text[33]="Айза.."
text[34]="Ильги.."
text[35]="Арте.."
text[36]="Михаи.."
text[37]="Тиму.."
text[38]="Фари.."
text[39]="Дени.."
text[40]="Рамаза.."
text[41]="Сама.."
text[42]="Григори.."
text[43]="Инса.."
text[44]="Вади.."
text[45]="Аде.."
var b = Math.floor(Math.random() * text.length);
var div = document.createElement('div');
div.innerHTML = "<img src="+image[a]+">" + text[b];
document.body.appendChild(div)
}, 10000);
setTimeout(function() {
clearInterval(timerId);
}, 70000);
</script>
</body>

рони
06.06.2015, 17:20
Родион420,
всё должно работать, останавливать через 70 секунд
<!DOCTYPE HTML>

<html>

<head>
<meta charset="utf-8">
</head>
<style type="text/css">
div{
display: inline-block;
}
</style>
<body>
<script>
var timerId = setInterval(function() {
var a=Math.floor(Math.random()*2);
image = new Array();
image[0]="wp-content/themes/simple-shop/rotate_image/0.png"
image[1]="wp-content/themes/simple-shop/rotate_image/1.png"
text = new Array();
text[0]="Рома.."
text[1]="Сере.."
text[2]="No Name"
text[3]="Расим.."
text[4]="No Name"
text[5]="Дес.."
text[6]="Джали.."
text[7]="Его.."
text[8]="Адел.."
text[9]="Фили.."
text[10]="Була.."
text[11]="Мара.."
text[12]="Алекса.."
text[13]="Дани.."
text[14]="Паш.."
text[15]="Влади.."
text[16]="Арту.."
text[17]="Дмитр.."
text[18]="Кири.."
text[19]="Фани.."
text[20]="Родио.."
text[21]="Ива.."
text[22]="No Name"
text[23]="No Name"
text[24]="Вади.."
text[25]="Владис.."
text[26]="Джорд.."
text[27]="Георг.."
text[28]="No Name"
text[29]="No Name"
text[30]="No Name"
text[31]="Сук.."
text[32]="Васи.."
text[33]="Айза.."
text[34]="Ильги.."
text[35]="Арте.."
text[36]="Михаи.."
text[37]="Тиму.."
text[38]="Фари.."
text[39]="Дени.."
text[40]="Рамаза.."
text[41]="Сама.."
text[42]="Григори.."
text[43]="Инса.."
text[44]="Вади.."
text[45]="Аде.."
var b = Math.floor(Math.random() * text.length);
var div = document.createElement('div');
div.innerHTML = "<img src="+image[a]+">" + text[b];
document.body.appendChild(div)
}, 10000);
setTimeout(function() {
clearInterval(timerId);
}, 70000);
</script>
</body>


</html>

Родион420
06.06.2015, 22:20
Увы, иногда за 2 секунды вылетает два рандома и остановка не работает. Использую ВордПресс, сам скрипт тоже не понятно работает, куда в код не вставлю - всегда появляется в подвале.

рони
06.06.2015, 22:37
куда в код не вставлю - всегда появляется в подвале.

а где ещё может появится appendChild как не внизу элементов-- учите js

Родион420
06.06.2015, 23:30
а где ещё может появится appendChild как не внизу элементов-- учите js

а на какую функцию можно ее заменить, чтобы работал скрипт оптимально?

рони
07.06.2015, 00:10
Родион420,
https://learn.javascript.ru/modifying-document

тут всё есть
document.body.insertBefore(div, document.body.firstChild);
document.body.firstChild заменить на нужный вам элемент перед которым добавлять

Родион420
07.06.2015, 12:21
что делать с таймером? он не отключается на сайте, а на домашнем пк все работает идеально.

рони
07.06.2015, 12:41
что делать с таймером?
изучать консоль смотреть ошибки, а не искать телепатов.