Перейти к содержимому

Реферальная программа Мегаплана


Выведение случайного объекта

#1 Гость_future_*

Гость_future_*
  • Гости
0

Отправлено 30 Январь 2009 - 14:46

Мне нужно чтоб на сайте выводились случайные ссылки (из всех ссылок аудио о видео) , и случайные фото (причем фото выводились картинками а не адресом). Как это сделать?

 

 

  • 0

#2 Гость_future_*

Гость_future_*
    Topic Starter
  • Гости

Отправлено 30 Январь 2009 - 15:24

Вот нашел скрипт относительно рисунков
<script language="javascript">
<!--
var a=Math.round(Math.random()*3) 
//это число должно совпадать с максимальным индексом таблицы изображений

image = new Array();
image[0]="img00001.jpg"
image[1]="img00002.jpg"
image[2]="img00003.jpg"
image[3]="img00004.jpg" 
//с максимальным индексом image[..] совпадает число, на которое умножаем вверху

document.write ("<img src="+image[a]+">");
//-->
</script>



Как сделать чтоб выводило три рисунка, и они не повторялись?? Я думаю аналогично будет и для ссылок
  • 0

#3 Xap

Xap
  • Пользователь
  • 1 520 сообщений
  • Репутация: 0

Отправлено 30 Январь 2009 - 17:39

То же самое можно сделать и через php, меньше кода на странице будет.
  • 0

#4 Arukard1

Arukard1
  • Пользователь
  • 193 сообщений
  • Репутация: 0

Отправлено 31 Январь 2009 - 11:47

Да, и куда быстрей страница грузится будет


  • 0

#5 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 31 Январь 2009 - 18:10

future, для трёх случайных, нужно сделать 2 массива :unsure: Один для списка URL картинок, другой для содержания номера уже выбранного.
<script type="text/javascript">
var num_enter = 5; // количество выводимых
// массив URL картинок с 0 по N-1
var pictures = new array("img00001.jpg", "img00002.jpg", "img00003.jpg", ... , "img0000N.jpg");
var unique = []; // массив уникумов
var random; // рандомный номер
var image; // объект <img>

if(num_enter > pictures.length) num_enter = pictures.length; // Если количество выводимых больше чем список картинок

for(var i = 0; i < num_enter; i++)
{
  do
  {
	 random = Math.round(Math.random()*pictures.length);
  }
  while (isset_array(random, unique)); // Если в массиве уникумов присутствует номер - повторить
  unique[i] = random; // Заносим номер уникума
  image = document.createElement('img');
  image.src = pictures[random];
  document.getElementById("rndImages").appendChild(image);
}

function isset_array(element, array_unique)
{
   for(var i = 0; i < array_unique.length; i++)
	  if(element == array_unique[i]) return 1;
   return 0;
}

</script>
...................
<div id="rndImages">Здесь будут картинки</div>
...................

  • 0


Оформление форума – IPBSkins.ru