#javascript #jquery #jquery-plugins #css
#javascript #jquery #jquery-плагины #css
Вопрос:
Мне нужно создать слайдер продукта, подобный этому (см. красную область), с помощью слайдера momentum.
Он должен работать на настольном компьютере, iPad и мобильном браузере. Знаете ли вы какой-либо плагин jquery / jquery mobile для достижения этой цели.
Эффект, который я хочу, почти похож на этотhttp://manos.malihu.gr/tuts/jquery_thumbnail_scroller.html (но он не совместим с сенсорным управлением)
и точно так же, как раздел «Top 25» в приложении Apple для iPad под названием «Трейлеры»
Комментарии:
1. К вашему сведению: удален тег jquery-mobile, поскольку OP прокомментировал в ответе Филла Паффорда , что он не использует jquery-mobile в проекте.
Ответ №1:
На мой взгляд, iosSlider потрясающий. Это работает практически на любом устройстве и хорошо документировано. Это бесплатно для личного использования, но для коммерческих сайтов лицензия стоит 20 долларов.
Также отличным вариантом является touchCarousel или RoyalSlider того же автора. В этих двух есть все, что вам нужно, но они также не бесплатны и стоят 10-12 долларов
Ответ №2:
Я бы также рекомендовал http://cubiq.org/iscroll-4
НО если вы не вникаете в это, попробуйте этот плагин
http://www.zackgrossbart.com/hackito/touchslider/
он работает очень хорошо и по умолчанию использует горизонтальную полосу слайдов на рабочем столе — это не так элегантно на рабочем столе, как iscroll-4, но он очень хорошо работает на сенсорных устройствах
УДАЧИ!
Комментарии:
1. и мне также нужна совместимость с настольными компьютерами
2. У меня iScroll реализован на двух разных веб-сайтах, и ни один из них не требует просмотра сайта в полноэкранном режиме для работы прокрутки — и это отлично работает на настольных компьютерах и сенсорных устройствах, fwiw — и это также относится к методу touchslider
3. iScroll уже упоминался dSquared, и у него есть проблема с элементами формы, если они находятся на одной странице
Ответ №3:
На вашем месте я бы реализовал свое собственное решение на основе спецификаций события. По сути, что такое прокрутка — это обработка событий касания вниз, перемещения касания, касания вверх. вот выдержка из моей собственной библиотеки для обработки событий iPhone touch:
touch_object.prototype.handle_touchstart = function(e){
if (e.targetTouches.length != 1){
return false;
}
this.obj.style.zIndex = 100;
e.preventDefault();
this.startX = e.targetTouches[0].pageX - this.geometry.x;
this.startY = e.targetTouches[0].pageY - this.geometry.y;
/* adjust for left /top */
this.bind_handler('touchmove');
this.bind_handler('touchend');
}
touch_object.prototype.handle_touchmove = function(e) {
e.preventDefault();
if (e.targetTouches.length != 1){
return false;
}
var x=e.targetTouches[0].pageX - this.startX;
var y=e.targetTouches[0].pageY - this.startY;
this.move(x,y);
}
touch_object.prototype.handle_touchend = function(e){
this.obj.style.zIndex = 10;
this.unbind_handler('touchmove');
this.unbind_handler('touchend');
}
Я использовал этот код, чтобы «перемещать объекты». Но вместо перемещения вы можете создать свой собственный алгоритм, например, для запуска перенаправления в какое-либо другое местоположение, или вы можете использовать это перемещение для «перемещения / пролистывания» элемента, по которому выполняется пролистывание, в другое местоположение.
итак, это действительно помогает понять основы того, как все работает, а затем создавать более сложные решения. это также может помочь.
Я использовал это для создания своего решения:
Ответ №4:
Вы пробовали iosSlider? Он может делать именно то, что вам нужно.
http://iosscripts.com/iosslider-jquery-horizontal-slider-for-iphone-ipad-safari/
Комментарии:
1. Этот плагин бесплатный только для личного / некоммерческого использования, он стоит 20 долларов за один домен, имо, это слишком дорого. Я бы рекомендовал использовать iScroll или платную touchcarousel / royalslider от CodeCanyon.
2. @tMagwell Вы считаете, что 20 долларов — это слишком много? Держу пари, что только на кофе на этой неделе вы потратили больше, чем на это. Для чего-то, что избавит вас от необходимости писать это самостоятельно, я не понимаю, насколько это «слишком много». Извините за напыщенную речь, но я думаю, что нам, разработчикам, иногда нужно четко расставлять приоритеты. Давайте вознаградим за тяжелую работу некоторых людей — не все будет работать в идеале со свободным исходным кодом.
Ответ №5:
Взгляните на iScroll v4 здесь:http://cubiq.org/iscroll-4
Возможно, это не jQuery, но он работает на настольных компьютерах, мобильных устройствах и iPad довольно хорошо; Я использовал его во многих проектах и объединил с jQuery.
Удачи!
Ответ №6:
Этот может соответствовать вашим потребностям:
http://caroufredsel.frebsite.nl/
Добавьте jquery Touchwipe для сенсорной поддержки
Затем в конфигурации добавьте
scroll : {
wipe: true
}
Комментарии:
1.Для тех, кто просматривает эту тему, перейдите по следующим ссылкам, чтобы найти библиотеку:
https://github.com/Codeinwp/carouFredSel-jQuery
http://coolcarousels.frebsite.nl/c/48/
http://docs.themeisle.com/article/499-getting-started-with-the-caroufredsel-jquery-plugin
Ответ №7:
Вы видели FlexSlider от WooThemes? Я использовал его в нескольких недавних проектах с большим успехом. Он также поддерживает сенсорное управление, поэтому он будет работать как в браузерах на основе мыши, так и в браузерах на основе сенсорного управления в iOS и Android.
Ответ №8:
Я нашел это, надеюсь, это поможет http://www.zackgrossbart.com/hackito/touchslider
Комментарии:
1. Извините, я ответил со своего телефона и не понял, что это уже упоминалось
Ответ №9:
Я нашел другой:http://swipejs.com
кажется, работает хорошо, однако я сталкиваюсь с проблемой при сопряжении с bootstrap в версии Chrome для OS X. Если полная кроссбраузерная совместимость не является проблемой, то вы молодец.
Комментарии:
1. Я бы сказал, что это действительно лучшее решение.
Ответ №10:
Я придумал нечто подобное для одного из своих веб-сайтов, находящихся в стадии разработки.
Я использовал пошаговую карусель для карусели, потому что это единственная, которую я нашел, которая может принимать разные размеры изображений в одной и той же карусели.
В дополнение к этому, чтобы добавить эффект сенсорного свайпа, я использовал плагин jquery.touchswipe;
И пошаговая карусель перемещают панель вправо или влево с помощью шрифта, чтобы я мог сделать :
$("#slider-actu").touchwipe({
wipeLeft: function() {stepcarousel.stepBy('slider-actu', 3);},
wipeRight: function() {stepcarousel.stepBy('slider-actu', -3);},
min_move_x: 20
});
Вы можете просмотреть фактический рендеринг на этой странице
Надеюсь, это поможет вам.
Ответ №11:
Это выглядит аналогично и использует jQuery mobile http://www.irinavelychko.com/tutorials/jquery-mobile-gallery
И демонстрация этого http://demo.irinavelychko.com/tuts/jqm-dialog-gallery.html
Комментарии:
1. Обе ссылки не работают
Ответ №12:
Взгляните на jQuery scroll view (демонстрация здесь). Вот репозиторий git hub для этого экспериментального проекта. Посмотрите на их html, чтобы увидеть, какие файлы необходимо включить и какие атрибуты добавить к элементам, которые вы хотите прокручивать.
Я использовал это, чтобы иметь возможность прокручивать элементы div по горизонтали на сенсорных устройствах.
Комментарии:
1. но он основан на jquery mobile. и я не использую его для проекта
Ответ №13:
Вас может заинтересовать следующее:
Я понимаю, что это не решение jQuery, но Sencha Touch framework довольно хорош для создания вашего целевого пользовательского интерфейса. Пример (нажмите на ссылку в карусели на боковой панели): http://dev.sencha.com/deploy/touch/examples/kitchensink
Комментарии:
1. Я надеюсь, вы бы добавили некоторые визуальные подсказки, чтобы эта конкретная область могла скользить при касании; может быть, добавив стрелки влево / вправо? Это может показаться немного скучным, но это создало бы предположительно лучшую визуальную доступность .
Ответ №14:
Оформить заказ плагина Portfoliojs для jQuery:http://portfoliojs.com
Этот плагин поддерживает сенсорные устройства, настольные компьютеры и мобильные браузеры. Кроме того, у него есть функция предварительной загрузки.
Ответ №15:
По моему опыту, лучшим вариантом с открытым исходным кодом будет UIKIT с его компонентом uikit slider. и это очень легко реализовать, например, в вашем случае вы могли бы сделать что-то вроде этого.
<div data-uk-slider>
<div class="uk-slider-container">
<ul class="uk-slider uk-grid-width-medium-1-4"> // width of the elements
<li>...</li> //slide elements
...
</ul>
</div>