Не могу правильно выбрать селектор
Всем привет народ!
Есть страница http://youran88.hol.es/ Там есть слайдер. Мне надо его довести до ума, а именно сделать так, чтобы центральный элемент слайдера был размером больше остальных. Картинка сама чтоб была больше, текст и кнопка тоже больше. Ну и чтоб всё корректно работало при переключении стрелок "вперёд"-"назад". Слайдер сам - bxslider. В инете готового прям под мою задачу слайдера я не нашёл, поэтому взял этот. А центральный элемент думаю средствами jQuery уже увеличивать. Так вот, bxslider тем элементам, которые скрыты, добавляет класс .bx-clone Народ, как мне с помощью jQuery выбрать только элементы с классом .slide ?? Именно только с одним классом, не с двумя. А то пока получается выбрать либо все 9 элементов с классом .slide, либо только элементы с классом .bx-clone. Мне как бы надо вычеркнуть из элементов с классом .slide те элементы, которые состоят из двух классов одновременно, т.е. slide bx-clone. Помогите пожалуйста. |
Вот тут пример как выбрать элемент, который обладает двумя или более классами одновременно: http://jquery.page2page.ru/index.php5/%D0%A1%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D0%BE%D1%80_% D0%BF%D0%BE_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%83
А вот как найти элемент, у которого строго 1 класс? |
Цитата:
var obj=$('.slide');
|
Цитата:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
</head>
<body>
<div class="xxx yyy">class: xxx yyy</div>
<div class="xxx">class: xxx</div>
<div class="yyy">class: yyy</div>
<script>
$('.xxx').css('color', 'red'); // выбирает два элемента
$('.xxx').not('.yyy').css('background-color', 'green'); // выбирает один элемент
$('[class="yyy"]').css('background-color', 'silver'); // либо так выбирает один элемент
</script>
</body>
</html>
|
оо, спасибо, буду тестировать
|
можно и так
$('.xxx:not(.yyy)')
вариантов думаю много |
Да, это действительно работает, спасибо.
А может кто-нибудь знает, как сделать, чтобы центральный элемент слайдера был увеличенным? Фотка, шрифты. Стили то прописать я смогу, а вот с jQuery-выделением нужного элемента пока не получается. Пока выделаю видимые 3 слайда, потом 2-му (центральный) назначаю CSS-стили - ширину побольше делаю самого слайда, и ширину картинки слайда тоже больше. Но проблема в том, чтоб при клине на стрелку "Вправо" не всегда увеличивается нужный слайд. Там ещё при пролистывании текущий слайд уходит влево (например), и его обратно уменьшить надо. В разделе head у меня вот это пока:
<script>
$(document).ready(function(){
$(".bx-next").click(function () {
//alert('Нажата кнопка Вперед');
var $zooming_element = $('.slide:not(.bx-clone)');
//Элемент, который надо увеличить
$target=$zooming_element[1];
$($target).css({
'width':'300'+'px',
'height':'auto'
}
);
$($target).children('img').css({
'width':'100'+'%',
'height':'100'+'%'
});
});
});
</script>
Всю верстку вот сюда выложил: http://youran88.hol.es/ В идеале слайдер вот так должен выглядеть: Помогите пожалуйста, кто знает. |
fenix_63,
<style type="text/css">
.slider4 .slide {
transform: scale(.8);
transition: all 1.2s;
}
.slider4 .slide.big {
transform: scale(1.2);
}
</style>
<script>
$(document).ready(function(){
$('.slider4').bxSlider({
pager:false,
slideWidth: 215,
minSlides: 2,
maxSlides: 3,
moveSlides: 1,
slideMargin: 10,
onSlideAfter : function($slideElement, oldIndex, newIndex){
$(".slider4 .slide").removeClass("big").eq(4+newIndex).addClass("big")
}
}).find(".slide").eq(4).addClass("big");
})
</script>
|
Цитата:
|
работает, но увеличивается постоянно только один элемент, остальные - без изменения: http://youran88.hol.es
|
| Часовой пояс GMT +3, время: 18:37. |