#javascript #jquery #html #css #twitter-bootstrap
#javascript #jquery #HTML #css #twitter-bootstrap
Вопрос:
Мой код на данный момент очень повторяющийся и очень длинный, что для меня не является чистым кодом.
Когда на большом устройстве:
<div class="hidden-xs">
<ul class="ul-class-name">
<li><img src="" /></li>
</ul>
</div>
И когда вы переходите к маленькому экрану / устройству, я реализую слайдер изображений jQuery, который использует JavaScript для запуска:
<div class="visible-xs">
<ul class="imageslider">
<li><img src="" /></li>
</ul>
</div>
$(document).ready(function(){
$('.imageslider').bxSlider({
});
Содержимое внутри <ul>
‘s абсолютно одинаковое, поэтому для нескольких изображений код получается очень длинным.
Как я могу активировать imageslider ТОЛЬКО для мобильных устройств / xs, используя всего одну строку кода, чтобы объединить их оба вот так <ul class="ul-class-name imageslider">
? Я хочу объединить 2 вместе, чтобы сэкономить на БОЛЬШОМ количестве кода.
Комментарии:
1. Вы хотите, чтобы этот слайдер был виден на больших / обычных экранах?
2. @Rami. Shareef Нет, на больших экранах я не хочу использовать слайдер изображений.
Ответ №1:
Добавьте это в свой css-код:
@media screen and (min-width:761px){
.imageslider{ visibility:hidden;
}
@media screen and (max-width:760px){
.imageslider{ visibility:hidden;
}
@media screen and (max-width:480px){
.imageslider{ visibility:visible;
}
@media screen and (max-width:360px){
.imageslider{ visibility:visible;
}
Да, это правильный метод, вы можете использовать n-количество классов, добавив пробел;
Комментарии:
1. Похоже, что это помещает мои изображения в imageslider, даже когда экран полностью развернут, я хочу активировать imageslider только тогда, когда экран маленький
2. Если я добавлю это в свой код, то наверняка это скроет весь мой набор изображений на большом экране? Я все еще хочу отображать свои изображения на большом экране, просто не используя imageslider.
3. я только что применил видимость к вашему классу imageslider, это означает, что если ваш экран smaall, то он будет виден! создайте другой div для большего экрана и сделайте видимость скрытой при маленьком размере экрана!
4. Я хочу иметь возможность объединить их всего в 1 div. На данный момент мой код очень длинный и неэффективный, я хочу, чтобы изображения размещались всего в 1 div, где я мог бы активировать imageslider при небольшом размере экрана
Ответ №2:
Вы можете использовать media query
для отображения слайдера, когда он отображается на экране мобильного устройства размером
@media only screen and (min-width:50px) and (max-width:500px)
будет выполняться только тогда, когда ширина экрана составляет от 50
и 500
в пикселях
Вы можете объединить их в один контейнер, а затем переключать видимость между различными размерами экрана
<div class="container">
<ul class="ul-class-name">
<li><img src="" /></li>
</ul>
<ul class="imageslider">
<li><img src="" /></li>
</ul>
</div>
CSS:
.imageslider {
display: none;
}
@media only screen and (min-width:50px) and (max-width:500px) {
.imageslider {
display: block;
}
.ul-class-name{
display:none;
}
}
Комментарии:
1. Я уже делал это, используя свой исходный код, используя bootstrap
hidden-xs
иvisible-xs
, но для этого мне нужно иметь ДВА идентичных div с той лишь разницей, что один из них — imageslider, который «заменяет» другой div, когда экран маленький.2. Что было бы внутри другого div, когда он имеет обычный размер экрана?
3. Вы можете объединить их в один контейнер, а затем переключать видимость между различными размерами экрана
4. Оба div на данный момент имеют точно такой же код, набор из 3 изображений. Я не хочу использовать два почти идентичных div, поскольку это неэффективно и оставляет лишний код. Итак, я хочу иметь 1 div, где изображения помещаются в imageslider только в том случае, если размер экрана мал