Javascript.RU

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

Дополнить скрипт
Здравствуйте.
Помогите плиз дописать скрипт, чтобы в урле <a href='/user/random.html'> слово random заменялось на случайное число.
Заранее благодарен за помощь.

<script type="text/javascript">
var images = new Array(
"images/thumb_1.jpg",
"images/thumb_2.jpg",
"images/thumb_3.jpg",
"images/thumb_4.jpg"
);
var img = images;
for (var i = 0; i < 5; i++) {
var a = Math.floor(Math.random() * img.length);
document.write ("<div class='photo'><a href='/user/random.html'><img src ='"+img[a]+"' /></a><br><br></div>");
img.splice(a,1);
};
</script>

Последний раз редактировалось newuser123, 03.01.2016 в 18:45.
Ответить с цитированием
  #2 (permalink)  
Старый 03.01.2016, 17:26
Новичок на форуме
Отправить личное сообщение для newuser123 Посмотреть профиль Найти все сообщения от newuser123
 
Регистрация: 03.01.2016
Сообщений: 3

Вроде что-то нацарапал, не знаю это правильно.

<script type="text/javascript">
var images = new Array(
"images/thumb_1.jpg",
"images/thumb_2.jpg",
"images/thumb_3.jpg",
"images/thumb_4.jpg",
"images/thumb_5.jpg",
"images/thumb_6.jpg",
"images/thumb_7.jpg",
"images/thumb_8.jpg",
"images/thumb_9.jpg",
"images/thumb_10.jpg",
"images/thumb_11.jpg",
"images/thumb_12.jpg",
"images/thumb_13.jpg",
"images/thumb_14.jpg",
"images/thumb_15.jpg",
"images/thumb_16.jpg",
"images/thumb_17.jpg",
"images/thumb_18.jpg",
"images/thumb_19.jpg",
"images/thumb_20.jpg",
"images/thumb_21.jpg",
"images/thumb_22.jpg",
"images/thumb_23.jpg",
"images/thumb_24.jpg",
"images/thumb_25.jpg",
"images/thumb_26.jpg",
"images/thumb_27.jpg",
"images/thumb_28.jpg",
"images/thumb_29.jpg",
"images/thumb_30.jpg"
);
var img = images;
var num = new Array(
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19",
"20",
"21",
"22",
"23",
"24",
"25",
"26",
"27",
"28",
"29",
"30"
);
var cifr = num;
for (var i = 0; i < 5; i++) {
var a = Math.floor(Math.random() * img.length);
document.write ("<div class='photo'><a href='/user/"+cifr[a]+".html'><img src ='"+img[a]+"' /></a><br><br></div>");
img.splice(a,1);
};
</script>

Последний раз редактировалось newuser123, 03.01.2016 в 18:46.
Ответить с цитированием
  #3 (permalink)  
Старый 03.01.2016, 17:57
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

а не проще массивы определять в цикле:

for (var i = 1, images = [], num = []; i <= 30; i += 1) {
     images.push("images/thumb_" + i +".jpg");
     num.push("" + i);
}

Последний раз редактировалось Keramet, 03.01.2016 в 18:05.
Ответить с цитированием
  #4 (permalink)  
Старый 03.01.2016, 18:02
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

newuser123,
а какой смысл заложен в переменную cifr? Чем она отличается от num?

Последний раз редактировалось Keramet, 03.01.2016 в 18:05.
Ответить с цитированием
  #5 (permalink)  
Старый 03.01.2016, 18:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

newuser123,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #6 (permalink)  
Старый 03.01.2016, 18:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

newuser123,
<!DOCTYPE HTML>

<html>

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

<script>
Array.prototype.randomShuffle = function(c, b) {
    c = c || 0;
    b = ++b || this.length;
    var a = b - c;
    b = a - this.length;
    this.length = a--;
    for (; 0 <= a && !(a < b); a--) {
        var d = Math.floor(Math.random() * a),
            e = void 0 === this[d] ? d + c : this[d];
        this[d] = void 0 === this[a] ? a + c : this[a];
        this[a] = e
    }
    this.reverse();
    this.length -= b;
    return this
};


</script>
</head>

<body>

<script>
Array(5).randomShuffle(1,30).forEach(function(el) {
     document.write ("<div class='photo'><a href='/user/"+el+".html'><img src ='images/thumb_"+el+".jpg' /></a><br><br></div>");
});
</script>
</body>

</html>
Ответить с цитированием
  #7 (permalink)  
Старый 03.01.2016, 18:11
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

рони,
При всём уважении - но это, по-моему, слишком заумно. Красиво - но заумно
Чем плох вариант ТС, если его малость доработать? Ну к примеру:

for (var i = 1, num = []; i <= 30; i += 1) {
     num.push("" + i);
}
for (var i = 0; i < 5; i += 1) {
   var a = Math.floor(Math.random() * num.length);
   document.write ("<div class='photo'><a href='/user/" + num[a] +
                   ".html'><img src ='images/thumb_" + num[a] + ".jpg' /></a><br><br></div>");
   num.splice(a,1);
};

Последний раз редактировалось Keramet, 03.01.2016 в 18:25.
Ответить с цитированием
  #8 (permalink)  
Старый 03.01.2016, 18:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Keramet,
ок
Ответить с цитированием
  #9 (permalink)  
Старый 03.01.2016, 18:36
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Сообщение от Keramet
а не проще массивы определять в цикле:
Зачем? Это лишнее.

Сообщение от Keramet
i += 1
Почему не i++?

Сообщение от Keramet
num.push("" + i);
Зачем кавычки?
Ответить с цитированием
  #10 (permalink)  
Старый 03.01.2016, 18:55
Новичок на форуме
Отправить личное сообщение для newuser123 Посмотреть профиль Найти все сообщения от newuser123
 
Регистрация: 03.01.2016
Сообщений: 3

Всем Большое спасибо за помощь, скрипт работает как надо использовал вариант доработки от Keramet.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP/AJAX скрипт "Нaселение мoегo гoрoдa oнлaйн" rustik-yes Работа 2 01.12.2014 22:53
2 компьютера 1 хром и 1 скрипт Megatron13 Opera, Safari и др. 1 21.07.2013 19:12
Почему скрипт не работает с данными, которые вернул другой скрипт? Rooner jQuery 3 20.09.2012 14:56
Изменить скрипт Изучаю_JS Общие вопросы Javascript 0 12.02.2012 22:05
А как зделать скрипт, чтобы например скрипт 1 заменялся скриптом 2? yura371 Общие вопросы Javascript 3 06.01.2009 22:40