#javascript #image #random
#javascript #изображение #Случайный
Вопрос:
Это мое первое сообщение здесь, поэтому я приношу извинения за любые ошибки. Кроме того, я новичок в JavaScript! Это прекрасный язык программирования, но у меня с ним возникли некоторые проблемы.
Теперь перейдем к вопросу.
Моя цель проста: я хочу отображать рандомизированные изображения в одной части моего сайта. Загвоздка в том, что, поскольку веб-сайт имеет адаптивный дизайн, есть два набора изображений, по одному для каждого из двух размеров разрешения экрана, с которыми я работаю.
Итак, другими словами, чего я хочу добиться: один набор изображений рандомизируется / отображается при использовании меньших экранов, другой набор рандомизируется / отображается при использовании больших экранов.
Что я сделал до сих пор, так это:
- Используйте код JavaScript для рандомизации изображений. Это выглядит так:
<script>
jQuery(function(){
var objetos = new Array();
objetos[0] = "heregoesmypicture";
objetos[1] = "heregoesmypicture";
objetos[2] = "heregoesmypicture";
objetos[3] = "heregoesmypicture";
objetos[4] = "heregoesmypicture";
objetos[5] = "heregoesmypicture";
objetos[6] = "heregoesmypicture";
objetos[7] = "heregoesmypicture";
objetos[8] = "heregoesmypicture";
objetos[9] = "heregoesmypicture";
function aleatorio() {
var azar = Math.floor(Math.random() * objetos.length);
document.getElementById("mi-imagenali").src = objetos[azar];
}
window.onload=aleatorio;
});
</script>
Итак, есть ли способ ограничить количество отображаемых изображений в зависимости от размера экрана?
Например, чтобы изображения 0-4 отображались при меньшем разрешении, а изображения 5-9 — при большем.
Заранее спасибо!
Комментарии:
1. Итак, будете ли вы знать
0-4
amp;5-9
, диапазон изображений, заранее?2. Да, я уже знаю количество изображений и какие изображения входят в каждый диапазон.
Ответ №1:
Вы можете использовать CSS @media, чтобы скрыть «лишние» изображения для меньших размеров экрана. Например, следующий CSS будет скрывать изображения с классом «hideme», если размер экрана составляет 600 пикселей в ширину или меньше. При необходимости вы можете использовать несколько абзацев @media. Просто добавьте class .hideme к набору изображений, которые вы хотите скрыть на небольших дисплеях.
@media only screen and (max-width: 600px) {
.hideme {
display:none;
}
}
Комментарии:
1. Я думал о том, чтобы сделать что-то подобное, но я не уверен, как добавить class .hideme к изображениям. Должен ли я добавить это в код JavaScript? Возможно ли это?
2. Есть несколько способов сделать это. Во-первых, если HTML для страницы написан с помощью чего-то вроде PHP, вы можете программно добавить класс .hideme к любому другому изображению. Это можно было бы сделать с помощью jQuery, используя что-то вроде этого примера: $( «img: odd»).addClass(‘.hideme’); Но это всего лишь предположение, основанное на предоставленном вами фрагменте.