Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   Как создать массив из картинок (https://javascript.ru/forum/css-html-firefox-mizilla/21458-kak-sozdat-massiv-iz-kartinok.html)

KamalovRadik 09.09.2011 21:22

Как создать массив из картинок
 
Возможно ли такое, можно же создать массив из чисел и из строк.
Как можно создать массив из картинок?

crayday 09.09.2011 22:30

Также, как из чисел и строк:
var array = new Array();
var image = new Image();
image.src = "example.jpg"; // картинка закэширована, но ещё не в dom'е
array.push(image);

или
var array = document.getElementsByTagName('img'); // выбрать вообще все картинки (теги img) на странице

melky 10.09.2011 00:00

Цитата:

Сообщение от KamalovRadik (Сообщение 125825)
Как можно создать массив из картинок?

//myImages - массив
var myImages = [].slice.call( document.images, 0 );

// путь к первой картинке
myImages[0].src = ...

// обойдем все картинки
myImages.forEach(...)

// добавим новую картинку в массив
myImages.push( new Image );

KamalovRadik 13.09.2011 21:39

Цитата:

Сообщение от crayday
var array = document.getElementsByTagName('img');

Это значит будет браться из хтмл кода. А как тогда скрыть эти картинки в хтмл коде? Чтобы они появлялись только по определенным условиям

Sweet 13.09.2011 22:03

function getImages(n){
  var array = [];
  while( n-- )
    array.push( new Image );
  return array;
};

KamalovRadik 13.09.2011 22:27

Цитата:

Сообщение от Sweet
new Image

А затем в отдельном цикле прописать src для этих картинок, так?

KamalovRadik 13.09.2011 22:46

Если у меня в папке есть 50 картинок с именами 1-50, можно ли как-нибудь автоматизировать заполнение массива?


function getImages(n) {

array = [];
while(n--)
array.push(new Image);

};

while (n--) {

array[n].src = 'images/50.jpg'; // н-р чтобы эта "50" менялась с "n"
}

Sweet 13.09.2011 23:07

function getImages(n){
  for( var image, array = [], i = 1; i <= n; i++ ){
    image = new Image;
    image.src = "images/" + i + ".jpg";
    array.push( image );
  };
  return array;
};

KamalovRadik 01.10.2011 15:14

А как выводить изображения на экран?
document.write(array[3]);
Появляется Image HTML Obgect

KamalovRadik 01.10.2011 15:50

[object HTMLImageElement]


Часовой пояс GMT +3, время: 07:42.