Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.07.2015, 04:42
Аватар для Baton1777
Интересующийся
Отправить личное сообщение для Baton1777 Посмотреть профиль Найти все сообщения от Baton1777
 
Регистрация: 08.03.2015
Сообщений: 26

bxslider булиты(представления) в виде слайдера
Доброго времени суток.
Есть задача, представить булиты(или представления) на слайдере, что бы они менялись вслед за слайдом, в виде перетекающего, зацикленного, текста.

http://prntscr.com/7tzqd7

Пробовал совместить как два слайдера, с установкой pagerCustom, но после задания второго слайдера, поехала внутренняя индексация, причем не для самих отображений, а для задаваемого самим скриптом класса "active".
Имеет ли смысл пытаться совмещать слайдеры дальше, или лучше покопаться в коде и попробовать совместить их перетекание?
Если да - то как лучше это сделать? Переписывать bxslider заново что-то не хочется)
Как понимаю, надо оставлять pagerCustom и копать в сторону развития данного места скрипта?:

/**
		 * Populates the pager with proper amount of pages
		 */
		var populatePager = function(){
			var pagerHtml = '';
			var pagerQty = getPagerQty();
			// loop through each pager item
			for(var i=0; i < pagerQty; i++){
				var linkContent = '';
				// if a buildPager function is supplied, use it to get pager link value, else use index + 1
				if(slider.settings.buildPager && $.isFunction(slider.settings.buildPager)){
					linkContent = slider.settings.buildPager(i);
					slider.pagerEl.addClass('bx-custom-pager');
				}else{
					linkContent = i + 1;
					slider.pagerEl.addClass('bx-default-pager');
				}
				// var linkContent = slider.settings.buildPager && $.isFunction(slider.settings.buildPager) ? slider.settings.buildPager(i) : i + 1;
				// add the markup to the string
				pagerHtml += '<div class="bx-pager-item"><a href="" data-slide-index="' + i + '" class="bx-pager-link">' + linkContent + '</a></div>';
			};
			// populate the pager element with pager links
			slider.pagerEl.html(pagerHtml);
		}
Ответить с цитированием
  #2 (permalink)  
Старый 18.07.2015, 15:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Baton1777,
а можно как то попроще обьяснить что вы хотите сделать? зачем нужен второй слайдер?
Ответить с цитированием
  #3 (permalink)  
Старый 18.07.2015, 17:54
Аватар для Baton1777
Интересующийся
Отправить личное сообщение для Baton1777 Посмотреть профиль Найти все сообщения от Baton1777
 
Регистрация: 08.03.2015
Сообщений: 26

рони,
Можно. В общем-то уже почти сделал, только вот никак не пойму, как мне отцентрировать активный эллемент во втором слайдере так, что бы при этом были видны и другие слайды?..
В общем, вот код:
<script>
  $(function () {
 var slider = $('#bx-pager').bxSlider({
 speed: 500,
 wrapperClass: "bx-wrapper",
 autoHover: true,
 pause: 3000,
 pagerCustom: '#bx-pager1',
 maxSlides: 3,
moveSlides: 1
});
 
 
 $('#promo-slider').bxSlider({
 onSlideNext: function($slideElement, oldIndex, newIndex){ slider.goToNextSlide(); },
 onSlidePrev: function($slideElement, oldIndex, newIndex){ slider.goToPrevSlide(); },
 auto: true,
 speed: 500,
 wrapperClass: "bx-wrapper",
 autoHover: true,
 pause: 3000,
 pagerCustom: '#bx-pager1'
});

  })
  </script>


<div style="position:relative">
  		<div id="promo-slider" class="owl-carusel">
		<div class="promo-picture" style="background:url(images/pict/promo-pict.jpg) no-repeat center; background-size: inherit"></div>
        <div class="promo-picture" style="background:url(images/pict/promo-pict-2.jpg) no-repeat center; background-size: inherit"></div>
        <div class="promo-picture" style="background:url(images/pict/promo-pict-3.jpg) no-repeat center; background-size: inherit"></div>
        <div class="promo-picture" style="background:url(images/pict/promo-pict-4.jpg) no-repeat center; background-size: inherit"></div>
        <div class="promo-picture" style="background:url(images/pict/promo-pict-5.jpg) no-repeat center; background-size: inherit"></div>
        <div class="promo-picture" style="background:url(images/pict/promo-pict-6.jpg) no-repeat center; background-size: inherit"></div>
        <div class="promo-picture" style="background:url(images/pict/promo-pict-7.jpg) no-repeat center; background-size: inherit"></div>
        <div class="promo-picture" style="background:url(images/pict/promo-pict-8.jpg) no-repeat center; background-size: inherit"></div>
        <div class="promo-picture" style="background:url(images/pict/promo-pict-9.jpg) no-repeat center; background-size: inherit"></div>
        <div class="promo-picture" style="background:url(images/pict/promo-pict-10.jpg) no-repeat center; background-size: inherit"></div>
        <div class="promo-picture" style="background:url(images/pict/promo-pict-11.jpg) no-repeat center; background-size: inherit"></div>
        <div class="promo-picture" style="background:url(images/pict/promo-pict-12.jpg) no-repeat center; background-size: inherit"></div>
  		</div>
		<div id="bx-pager1">
		<center><div id="bx-pager">
               	  <div class="bxp_text stl0"><a data-slide-index="0" href="">- LED -</a></div>
				  <div class="bxp_text stl1"><a data-slide-index="1" href="">- POWER SUPPLIES -</a></div>
				  <div class="bxp_text stl2"><a data-slide-index="2" href="">- OPTICAL LENSES -</a></div>
				  <div class="bxp_text stl3"><a data-slide-index="3" href="">- SENSORS -</a></div>
				  <div class="bxp_text stl4"><a data-slide-index="4" href="">- LIGHT CONTROLS -</a></div>
				  <div class="bxp_text stl5"><a data-slide-index="5" href="">- SEMICONDUCTORS -</a></div>
				  <div class="bxp_text stl6"><a data-slide-index="6" href="">- BARE DIE -</a></div>
				  <div class="bxp_text stl7"><a data-slide-index="7" href="">- MICROCONTROLLERS -</a></div>
				  <div class="bxp_text stl8"><a data-slide-index="8" href="">- HIGH PERFORMANCE ANALOG -</a></div>
				  <div class="bxp_text stl9"><a data-slide-index="9" href="">- WIRELESS -</a></div>
				  <div class="bxp_text stl10"><a data-slide-index="10" href="">- PASSIVE -</a></div>
				  <div class="bxp_text stl11"><a data-slide-index="11" href="">- ELECTRO-MECHANICS -</a></div>
		</div></center></div>
		</div>



При этом, в основной файле jquery.bxslider.js была сделана добавка (slideIndex + 3), что бы отображался активным именно тот элемент, который нужен:

slider.pagerEl.each(function(i, el) { $(el).find('a').eq(slideIndex + 3).addClass('active'); });


В css это выглядит сейчас так:
#bx-pager .bxp_text{
float:left;
height:60px;
width:-1px !important;
  margin-right: -18px;
}

#bx-pager .bxp_text a{
font-family: 'Open Sans', sans-serif;
  font-size: 55px;
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: bold;
  position: relative;
}
#bx-pager .bxp_text a:hover,
#bx-pager .bxp_text a:active,
#bx-pager .bxp_text a.active{
  color: #ff8500;
    z-index: 100;
 }
 
 #bx-pager1 {
	position: absolute;
	margin: 0 auto 60px;
	padding: 0;
	top:420px;
	width:1349px;
	}
#bx-pager1 .bx-wrapper{
width: 1349px !important;
max-width:1349px !important;}

.stl0{width: 164px!important;}
.stl1{width: 511px!important;}
.stl2{width: 490px!important;}
.stl3{width: 304px!important;}
.stl4{width: 519px!important;}
.stl5{width: 561px!important;}
.stl6{width: 300px!important;}
.stl7{width: 619px !important;}
.stl8{width: 846px!important;}
.stl9{width: 315px!important;}
.stl10{width: 271px!important;}
.stl11{width: 626px!important;}


А внешне - так:
http://prntscr.com/7u56f9

В общем, надо теперь передвинуть активный эллемент к центру. Если убрать фиксированные width, то эллемент выравнивается, но при этом - уезжают все остальные...
Желательный итоговый вид всего этого счастья:
http://prntscr.com/7u572g

Вот, как-то так..

Последний раз редактировалось Baton1777, 18.07.2015 в 17:58.
Ответить с цитированием
  #4 (permalink)  
Старый 18.07.2015, 18:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Baton1777,
сделали бы макет в какой нибудь песочнице
Ответить с цитированием
  #5 (permalink)  
Старый 18.07.2015, 18:49
Аватар для Baton1777
Интересующийся
Отправить личное сообщение для Baton1777 Посмотреть профиль Найти все сообщения от Baton1777
 
Регистрация: 08.03.2015
Сообщений: 26

рони,
Прошу:
http://plnkr.co/edit/8pvd4IROcT5N3jLoeHu6?p=preview
Ответить с цитированием
  #6 (permalink)  
Старый 18.07.2015, 19:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Baton1777,
может из #bx-pager второй слайдер не делать а просто смещать до нужного элемента ?
Ответить с цитированием
  #7 (permalink)  
Старый 18.07.2015, 19:39
Аватар для Baton1777
Интересующийся
Отправить личное сообщение для Baton1777 Посмотреть профиль Найти все сообщения от Baton1777
 
Регистрация: 08.03.2015
Сообщений: 26

рони,
И как вы предлагаете это сделать?
Ответить с цитированием
  #8 (permalink)  
Старый 18.07.2015, 20:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от Baton1777
И как вы предлагаете это сделать?
как-то так
Ответить с цитированием
  #9 (permalink)  
Старый 18.07.2015, 22:46
Аватар для Baton1777
Интересующийся
Отправить личное сообщение для Baton1777 Посмотреть профиль Найти все сообщения от Baton1777
 
Регистрация: 08.03.2015
Сообщений: 26

рони,
Благодарю, направление понял, буду думать. если что - ещё обращусь)
Ответить с цитированием
  #10 (permalink)  
Старый 18.07.2015, 22:48
Аватар для Baton1777
Интересующийся
Отправить личное сообщение для Baton1777 Посмотреть профиль Найти все сообщения от Baton1777
 
Регистрация: 08.03.2015
Сообщений: 26

рони,
В общем, осталось только понять, как их в круговой вариант завязать..)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2 синхронных bxslider на странице pj.media Элементы интерфейса 7 15.05.2015 10:56
Как задать функцию на клик с параметрами в виде значений Kot137 Events/DOM/Window 3 11.03.2015 19:00
Как получить результат работы цикла в виде массива. Tungus Общие вопросы Javascript 29 08.12.2014 19:33
Два слайдера на странице ureech Элементы интерфейса 1 14.05.2014 15:56
сайт в виде слайдера shurik330 jQuery 12 16.09.2011 15:23