Существует множество сенсорных слайдеров JavaScript или CSS, но все они, похоже, допускают только вертикальное или горизонтальное смахивание слайда. Есть ли что-нибудь, что позволяет и то, и другое на одном слайде, чтобы я мог проводить по горизонтали и по вертикали на одном слайде?
Двунаправленный сенсорный слайдер для горизонтального и вертикального перемещения
Ответы (3)
Я не уверен на 100%, что это то, что вы ищете, но это выглядит чертовски близко:
iDangero.us Swiper.
http://www.idangero.us/sliders/swiper/
Позволяет вертикально перемещать блоки внутри другой горизонтальной карусели/ползунка. Я искал то же самое некоторое время, и это самый близкий плагин, который я нашел, к тому, что я ищу. Небольшой взлом / манипуляция, вероятно, может заставить его делать то, что вы ищете.
Вот простой способ создания горизонтального и вертикального слайдера.
<script>
function MM_effectSlide1(targetElement, duration, to, from, slide, toggle)
{
Spry.Effect.DoSlide(targetElement, {duration: duration, to: to, from: from, horizontal: true, toggle: true});
}
function MM_effectSlide2(targetElement, duration, to, from, slide, toggle)
{
Spry.Effect.DoSlide(targetElement, {duration: duration, to: to, from: from, horizontal: false, toggle: true});
}
</script>
<body>
<div id="socialmedia" class="socialcontainer" onclick="MM_effectSlide1('socialmedia', 1000, '100%', '11%', true, true)"></div>
Если вы посмотрите на код, единственный код, который следует изменить, — это MM_effectSlide1, 2, 3 и т. д.
Вы можете использовать fullPage.js, чтобы прокручивать точно так, как вы описываете, как показано на этой демонстрационной страницы.
Единственная проблема, с которой я столкнулся при работе с fullPage.js, — отсутствие сенсорного движения 1:1. Таким образом, вместо управления пролистыванием до тех пор, пока вы держите палец на экране, в скрипте есть настраиваемая переменная, которая сообщает, что после достижения порогового значения пролистывания в X процентов от высоты/ширины экрана. Это работает, но не так хорошо, как что-то вроде RoyalSlider, у которого есть 1: 1 касание; поэтому, если вы проведете только 49% пути, вы останетесь в том же разделе. При этом fullPage.js имеет отличную поддержку (IE8+) и регулярно обновляется.
В идеале я хотел бы, чтобы fullPage.js имело движение касания 1:1, автор открыт для запросов на вытягивание, но на данный момент мои знания javascript слишком базовые, чтобы реализовать что-то подобное.
В настоящее время я рассматриваю вариант использования двух ползунков в сочетании друг с другом. Я собираюсь использовать RoyalSlider для свайпов влево и вправо (так что вы получите хороший 1: 1 касание) и fullPage.js для вертикального эффекта вверх-вниз.