Помогите новичку по javascript

Y5
На сайте с 14.07.2009
Offline
119
830

Добрый день!

Сейчас я вывожу случайную рекламу на сайте просто кодом: <script type="text/javascript" src="/js/bann.js"></script>

Сам код файла:

var info = Math.round(Math.random()*5)

content = new Array();

content[0] = "Первая фраза"

content[1] = "Вторая фраза"

content[2] = "Третья фраза"

content[3] = "Четвертая фраза"

content[4] = "Пятая фраза"

document.write ("<div>"+content[info]+"</div>");

Это получается громоздко и не красивый большой код.

Подскажите пожалуйста, как можно сделать, чтобы случайные фразу выводились через код, к примеру <div id='banner'><div>

Т.е. чтобы было, один раз добавляю в шаблон: <script type="text/javascript" src="/js/bann.js"></script>

И в месте где вывести случайную фразу ставлю <div id='banner'><div>

Это можно как-то реализовать?

Большое спасибо

Подписи пока нет :(
CP
На сайте с 12.08.2009
Offline
101
#1

document.write - не есть гуд.

лучше так:

<div id="myads"></div>

document.querySelector('#myads').innerHTML('ваша фраза');

Сам array можете из бэкэнда пульнуть прямо в шаблон типа

<script id="myJSON" type="application/json">{"values": ['one,''two']}</script>

Ниже можно разместить

<script src="/path/to/script.js"></script>

сам script типа такого

//Получаем данные в json и парсим

var dataAds = document.getElementById('myJSON').innerHTML;

dataAds = JSON.parse(dataAds);

//генерируем рандомный индекс от 0 до длинны массива

var randomIndex = Math.floor(Math.random() * dataAds.values.length) + 0;

//добавляем значения из массива с помощью рандомного индекса внутрь дива

document.querySelector('#myads').innerHTML(dataAds.values[randomIndex]);

Профессиональный frontend: JS, html,css, Single-Page App (/ru/forum/964386)
Samail
На сайте с 10.05.2007
Offline
361
#2
yura5:
Подскажите пожалуйста, как можно сделать, чтобы случайные фразу выводились через код, к примеру <div id='banner'><div>

var arr = ["Первая фраза", "Вторая фраза", "Третья фраза", "Четвертая фраза", "Пятая фраза"];

var rand = Math.floor(Math.random() * arr.length);
document.getElementById('banner').innerHTML= arr[rand];
Y5
На сайте с 14.07.2009
Offline
119
#3
Samail:
var arr = ["Первая фраза", "Вторая фраза", "Третья фраза", "Четвертая фраза", "Пятая фраза"];

var rand = Math.floor(Math.random() * arr.length);
document.getElementById('banner').innerHTML= arr[rand];

И все, больше ни чего не надо???

Samail
На сайте с 10.05.2007
Offline
361
#4

Всё. Этот код в скрипт вставить, а на страницу <div id='banner'><div>

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий