2015-08-19 4 views
0

У меня есть таблица изображений с классом .pics, и я хочу использовать Javascript, чтобы вытащить фактические картинки из таблицы HTML и поместить их в массив.создать массив изображений, потянув их из html

После этого я хочу случайным образом выбрать изображение из массива и изменить его уровень яркости.

Я попытался сделать это:

var allPics = []; 

$(".pics").each (function(){ allPics.push (this); }); 

, но не кости.

Спасибо!

+0

Есть менее вербальные способы получить этот массив, но это кажется прекрасным, если HTML так же, как описано. Можете ли вы показать (а) HTML некоторых изображений и (б) как вы пытаетесь изменить яркость или что-то еще не удается? Как бы то ни было, нет никакого способа узнать, что может пойти не так. –

+0

это будет элемент изображения HTML, а не объект jQuery. Хотя случайный выбор '$ (allPics [x])' даст вам эквивалент jQuery, если вы там не сработали ... – joyBlanks

+0

Вышеупомянутые работы просто прекрасны: http://jsfiddle.net/L7nzzmo0/ – gfullam

ответ

1

Сначала мы инициализируем массив с var allPics = [];

Затем пройти наш HTML и загрузить массив.

$('.pics .pic').each(function() { 
    allPics.push(this); 
}); 

Затем сформируйте случайный индекс, основанный на размере массива.

var index = parseInt(Math.random()*allPics.length); 

Затем извергают изображения, хранящиеся в массиве, используя $(allPics[index]).prop('outerHTML') преобразовать объект JQuery к HTML-строки.

$('.random').append(
    $(allPics[index]).prop('outerHTML') 
); 

Яркость изображения регулируется в CSS с filter: brightness(.5), обязательно использовать, как минимум, префикс -webkit- поставщика, как много основных браузеров на данный момент require это на данный момент.

Для рабочего примера см. my fiddle.

Смежные вопросы