- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Установил jquery плагин Carousel, настроил, все работает.
1. Скажите пожалуйста, можно ли НЕ показывать стрелки навигации (влево и вправо) если картинок (елементов) 3 и меньше ?
2. По-умолчанию, у меня ширина блока "jcarousel-wrapper" 450px, можно ли её изменить если есть всего 1 картинка (элемент) с 450px на 150px, если 2 картинки с 450px на 300px, а если 3 и больше чтобы так и осталось 450px ?
Насколько я понял, изменения нужно править этот файл js:
(function($) {
$(function() {
var jcarousel = $('.jcarousel');
jcarousel
.on('jcarousel:reload jcarousel:create', function () {
var width = jcarousel.innerWidth();
if (width >= 600) {
width = width / 3;
} else if (width >= 350) {
width = width / 3;
}
jcarousel.jcarousel('items').css('width', width + 'px');
})
.jcarousel({
wrap: 'circular'
});
$('.jcarousel-control-prev')
.jcarouselControl({
target: '-=1'
});
$('.jcarousel-control-next')
.jcarouselControl({
target: '+=1'
});
$('.jcarousel-pagination')
.on('jcarouselpagination:active', 'a', function() {
$(this).addClass('active');
})
.on('jcarouselpagination:inactive', 'a', function() {
$(this).removeClass('active');
})
.on('click', function(e) {
e.preventDefault();
})
.jcarouselPagination({
perPage: 1,
item: function(page) {
return '<a href="#' + page + '">' + page + '</a>';
}
});
});
})(jQuery);
Стрелки выводятся ссылками:
<a href="#" class="jcarousel-control-prev">‹</a>
<a href="#" class="jcarousel-control-next">›</a>
Я не пойму, что нужно заключать в условие if чтобы спрятать ссылки если елементов меньше 4х ?
Пункт №1 решён следующим образом:
$('.jcarousel-control-prev, .jcarousel-control-next').hide();
} else {
$('.jcarousel-control-prev, .jcarousel-control-next').show();
}
Не могу решить вот это:
Как не делал, приписывает и блоку 300px и элементу, пытаюсь так:
$('.jcarousel-wrapper').width(300);
} else {
$('.jcarousel-wrapper').width(450);
}
Что я неправильно делаю ???
UPD: Решена и 2 проблема:
$('.jcarousel-wrapper').width(150);
} else if (jcarousel.jcarousel('items').length == 2) {
$('.jcarousel-wrapper').width(300);
} else {
$('.jcarousel-wrapper').width(450);
}
Можно так, на все случаи:
var jcWidth = jcarousel.jcarousel('items').length * 150;
if(jcWidth <= 450) {
$('.jcarousel-wrapper').width(jcWidth).children('a').remove();
}
Можно так, на все случаи:
var jcWidth = jcarousel.jcarousel('items').length * 150;
if(jcWidth <= 450) {
$('.jcarousel-wrapper').width(jcWidth).children('a').remove();
}
Спасибо :)