Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   2 синхронных bxslider на странице (https://javascript.ru/forum/dom-window/55732-2-sinkhronnykh-bxslider-na-stranice.html)

pj.media 12.05.2015 09:51

2 синхронных bxslider на странице
 
На странице установлно два слайдера bxslider картинок. нужно чтобы картинки на обоих менялись синхронно, но сейчас всегда или почти всегда картинки второго немного отстают. По всей видимости первый загружается быстрее и начинает работать быстрее второго. Как можно их синхронизировать?

рони 12.05.2015 13:44

pj.media,
вариант ... первый слайдер управляет вторым
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title></title>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script src="http://bxslider.com/lib/jquery.bxslider.js"></script>
  <link rel="stylesheet" type="text/css" href="http://bxslider.com/css/styles.css">
  <link rel="stylesheet" type="text/css" href="http://bxslider.com/lib/jquery.bxslider.css">
  <style type="text/css">
  .bxslider {
   width: 100%;
  }
#reklama_right     {
    width:240px; height:1200px;
    padding: 5px;
    }
</style>

  <script>
  $(function () {
 var slider = $('#slider_2').bxSlider({
 speed: 500,
 wrapperClass: "bx-wrapper",
 autoHover: true,
 pause: 3000
});


 $('#slider_1').bxSlider({
 onSlideNext: function($slideElement, oldIndex, newIndex){ slider.goToNextSlide(); },
 auto: true,
 speed: 500,
 wrapperClass: "bx-wrapper",
 autoHover: true,
 pause: 3000
});



  })
  </script>
</head>

<body>
<div id="reklama_right" >

<div id="slider_1" class="bxslider">

 <div><a href="http://" target="_blank"><img src="http://bxslider.com/images/730_200/tree_root.jpg" alt="kbn" width="240" height="240"/></a></div>
 <div><a href="http://" target="_blank"><img src="http://bxslider.com/images/730_200/houses.jpg" alt="kbn" width="240" height="240"/></a></div>
 <div><a href="http://" target="_blank"><img src="http://bxslider.com/images/730_200/hill_fence.jpg" alt="kbn" width="240" height="240"/></a></div>

 </div>

 <div id="slider_2" class="bxslider">

 <div><a href="http://" target="_blank"><img src="http://bxslider.com/images/730_200/tree_root.jpg" alt="kbn" width="240" height="240"/></a></div>
 <div><a href="http://" target="_blank"><img src="http://bxslider.com/images/730_200/houses.jpg" alt="kbn" width="240" height="240"/></a></div>
 <div><a href="http://" target="_blank"><img src="http://bxslider.com/images/730_200/hill_fence.jpg" alt="kbn" width="240" height="240"/></a></div>

 </div>

 </div>

</body>
</html>

pj.media 13.05.2015 18:40

Спасибо!
а как можно сделать, чтобы при ручной смене слайдов можно было щелкать и по стрелкам и в первом слайде и во втором и менялись бы оба синхронно. Сейчас так работает на первом слайде при клике вперед.

И не надо ли оборачивать в
$(document).ready(function()?

рони 13.05.2015 19:05

Цитата:

Сообщение от pj.media
И не надо ли оборачивать в
$(document).ready(function()?

уже обёрнуто - с остальным можно дописать в 1 слайдере необходимые Callbacks -- будет управлять вторым по любому клику -- как заставить второй управлять первым вариантов у меня нет.

kostyanet 13.05.2015 22:46

Цитата:

Сообщение от pj.media
нужно чтобы картинки на обоих менялись синхронно

три де что ли?

pj.media 15.05.2015 10:50

Цитата:

Сообщение от рони (Сообщение 370618)
уже обёрнуто

А где обернуто?

рони 15.05.2015 10:53

pj.media,
строка 21 и 41

рони 15.05.2015 10:56

pj.media, это
$(document).ready(function(){})

классика
и
$(function(){})
современность
это
одно и тоже


Часовой пояс GMT +3, время: 04:26.