Javascript.RU

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

случайная ссылка в javascript
У меня есть скрипт, который может открывать случайные ссылки, но ссылок он может открыть всего 4, если дописываю больше, то страница вообще никуда не переадресовывает. Что сделать чтобы скрипт читал больше ссылок?
<html> 
<head> 
<script type="text/javascript"> 

var Links = [ 
{ url: "http://fradw.narod2.ru/perv.html", freq: 33 }, // Perv 
{ url: "http://fradw.narod2.ru/vtor.html", freq: 33 }, // Vtor
{ url: "http://fradw.narod2.ru/tret.html", freq: 33 }, // Tret
{ url: "http://fradw.narod2.ru/chet.html", freq: 33 } // Chet
]; 

onload = function () { 

var Range = 0; 
for (var i=0; i<Links.length; i++) Range += Links[ i ].freq; 
var Random = Math.floor(Math.random()*Range); 

for (var i=0; i<Links.length; i++) { 
if (Random < Links[ i ].freq) break; 
Random -= Links[ i ].freq; 
} 

location.href = Links[ i ].url; 
} 

</script> 
</head> 
<body> 
</body> 
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 26.06.2012, 11:15
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,128

Сообщение от Jakob
У меня есть скрипт, который может открывать случайные ссылки
А для чего все эти циклы в нем?
Ответить с цитированием
  #3 (permalink)  
Старый 26.06.2012, 11:31
Профессор
Отправить личное сообщение для bot87 Посмотреть профиль Найти все сообщения от bot87
 
Регистрация: 16.05.2011
Сообщений: 307

В чем суть скрипта?Чего вы добиваетесь?
<script>
 
var Links = [
"http://fradw.narod2.ru/perv.html",  
"http://fradw.narod2.ru/vtor.html",  
 "http://fradw.narod2.ru/tret.html", 
 "http://fradw.narod2.ru/chet.html" 
];
 
window.onload = function () {
 
rand=Math.floor(Math.random()*4);

alert(rand)
location.href = Links[rand];
}
 
</script>
__________________
Я только учусь.Ногами просьба не бить
Ответить с цитированием
  #4 (permalink)  
Старый 26.06.2012, 11:40
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,128

Сообщение от bot87
rand=Math.floor(Math.random()*4);
А если вместо 4 подставить длину массива - получится желаемый скрипт
Ответить с цитированием
  #5 (permalink)  
Старый 26.06.2012, 12:01
Профессор
Отправить личное сообщение для bot87 Посмотреть профиль Найти все сообщения от bot87
 
Регистрация: 16.05.2011
Сообщений: 307

там 3.Не первый и не второй раз делаю постоянно эту ошибку
__________________
Я только учусь.Ногами просьба не бить
Ответить с цитированием
  #6 (permalink)  
Старый 26.06.2012, 13:40
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,128

Сообщение от bot87
там 3
Отнють!
Math.random()

Никогда не будет 1... А значит выражение
Math.floor(Math.random()*4)

Будет в пределах от 0 до 3 и вполне подходит для массива из 4-х элементов...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книга: JavaScript. Сильные стороны Magneto Учебные материалы 16 21.04.2013 15:28
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
Подскажите по CSS меню Александр_1988 Элементы интерфейса 1 17.05.2010 11:58