Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.10.2016, 22:33
Интересующийся
Отправить личное сообщение для r1sus Посмотреть профиль Найти все сообщения от r1sus
 
Регистрация: 22.02.2016
Сообщений: 26

Слайдер с вертикальной прокруткой
Добрый день!
Такая задача. Есть обычный слайдер, блоки горизонтально сменяют друг друга , отображается один элемент слайдера. Сам сдайдер к примеру высотой 200px, а высота одного слайда 400px. Задача такая, нужно чтобы каждый слайд сначала прокрутился вертикально( отобразив нижнюю часть картинки) и только потом сменился другим( пользователь не скролит, не нажимает, только наблюдает. прошу только натолкнуть ,как/чем бы это реализовать или где почитать посмотреть кто видел подобное, или подсказать как правильно загуглить ) всем добра!
Ответить с цитированием
  #2 (permalink)  
Старый 18.10.2016, 22:57
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Нужно искать слайдер с колбэком, когда слайд попадает в поле видимости, например добавляется класс active. Если нет такого колбэка, то самому докостылять функционал, после того как слайдер завелся (такой колбэк вероятней всего будет). Т.е регистрируем счетчик с таким же таймаутом, как у слайдера и своей функцией для анимации слайда по вертикали.
Думаю, я бы так сделал.
Ответить с цитированием
  #3 (permalink)  
Старый 18.10.2016, 23:23
Интересующийся
Отправить личное сообщение для r1sus Посмотреть профиль Найти все сообщения от r1sus
 
Регистрация: 22.02.2016
Сообщений: 26

Спасибо большое, попробую так!
Ответить с цитированием
  #4 (permalink)  
Старый 18.10.2016, 23:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

r1sus,
Автоматизация слайдера
достаточно добавить 1 строку для анимации блока вверх
Ответить с цитированием
  #5 (permalink)  
Старый 19.10.2016, 10:19
Интересующийся
Отправить личное сообщение для r1sus Посмотреть профиль Найти все сообщения от r1sus
 
Регистрация: 22.02.2016
Сообщений: 26

Попробую и этот вариант, спасибо
Ответить с цитированием
  #6 (permalink)  
Старый 19.10.2016, 10:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

бесконечный слайдер на jquery + вертикальная прокрута блока, макет
r1sus,
дополненный вариант по ссылке выше ...
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  body{
    background-color: #FFE23D;
  }

  li{ position:  relative;
   margin: 0px;
   width: 300px; height:400px; float: left;
   text-align: center;
   display: block;
  }
  #carusel {
    position: absolute; top: 0px; left:0px; display:block;
    height:50px;
    padding: 0px; margin: 0px;
  }
  div.item{
     overflow:hidden; width: 300px; height:200px; position: relative;  margin: 100px auto;
  }
  li > div{margin: 0px;
    box-sizing: border-box;
    height: 50%;
    width: 100%;
    border: 5px #8A2BE2 solid;
    line-height: 180px;
  }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function () {
   $(function() {
    var ul = $('#carusel'), widthAll = 0;
    $('li', ul).each(function(indx, element){
      widthAll +=  this.offsetWidth
      });
    ul.width(widthAll);
    function go() {
        var li = $('li:first', ul), w = li.width();
        li.delay(1800).animate({top : -200},1200);
        ul.delay(4600).animate({
            left: -w
        }, 2000, function () {
            li.appendTo(this).css({top : 0})
            $(this).css({
                left: '0px'
            });
            go()
        })
    }
    go()
});
})
  </script>
</head>

<body>
<div class="item">
    <ul id="carusel">
      <li  id = "1" style="background-color:red;"><div>start</div><div>end</div></li>
      <li  id = "2" style="background-color:green;"><div>start</div><div>end</div></li>
      <li  id = "3" style="background-color:Yellow;"><div>start</div><div>end</div></li>
      <li  id = "4" style="background-color:DeepPink;"><div>start</div><div>end</div></li>
      <li  id = "5" style="background-color:MediumBlue;"><div>start</div><div>end</div></li>
    </ul>
  </div>
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 19.10.2016, 12:49
Интересующийся
Отправить личное сообщение для r1sus Посмотреть профиль Найти все сообщения от r1sus
 
Регистрация: 22.02.2016
Сообщений: 26

рони,
спасибо, то что нужно
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вертикальный слайдер с прокруткой сайта alexander098 jQuery 0 12.01.2016 22:41
Интересный слайдер (ротатор) TRIGUN Общие вопросы Javascript 2 26.11.2015 18:37
Как сделать слайдер с прокруткой слева на право Avivar jQuery 1 20.06.2014 10:48
Нужно отредактировать слайдер glavkot Работа 0 22.08.2011 14:14
jQuery UI Slider - как синхронизировать слайдер со значнием? frightened jQuery 0 24.07.2011 00:19