jQuery Unslide-Touch не работает
Я уже решил это, и я только публикую, чтобы помочь другим сэкономить время.
Я использую unslider для бизнес-сайта, веб-сайт, который я делаю отзывчивым, поэтому функция добавления сенсорной поддержки слайдера привлекательна. К сожалению, это не работает прямо из коробки, как утверждает автор.
4 ответов
обновление
Плагин unslider, который я использовал, устарел. Я скачал его из unslider.com где я впервые нашел его (это все еще устаревшая версия), поэтому у меня были трудности.
Если вам нужно получить последнюю версию, перейдите по ссылке:https://github.com/idiot/unslider/
и если вы хотите увидеть мой отчет о проблеме:https://github.com/idiot/unslider/issues/69
проблема в том, что автор не обновлял свой проект в течение 4 месяцев, и с тех пор событие swipe было перемещено из $.событие.проведите $.событие.специальный.сильный удар.
проблема возникает в строке 108 плагина unslider, где он проверяет наличие плагина swipe.
108: if($.event.swipe) {
109: this.el.on('swipeleft', _.prev).on('swiperight', _.next);
просто измените его на:
108: if($.event.special.swipe) {
109: this.el.on('swipeleft', _.prev).on('swiperight', _.next);
Это простое решение, но потребуется некоторое гугление, чтобы выяснить.
если вы хотите быть уверены, он будет работать с более ранними версиями, вы можете сделать это:
108: if($.event.special.swipe || $.event.special.swipe) {
109: this.el.on('swipeleft', _.prev).on('swiperight', _.next);
но я не рекомендую.
и автор не упоминает об этом, но страница плагина swipe делает, вам нужно включить jquery.событие.перемещение в дополнение к jquery.событие.проведите пальцем по своим сценариям.
надеюсь, это помогло кому-то:)
ответ на комментарий ниже:
не забудьте включить все файлы в правильном порядке, и запомнить их все:
<script type="text/javascript" src="/scripts/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="/scripts/jquery.event.move.js"></script>
<script type="text/javascript" src="/scripts/jquery.event.swipe.js"></script>
<script type="text/javascript" src="/scripts/unslider.min.js"></script>
Это не сработало для меня, но после обширных настроек я заставил его работать гладко. Я шаг за шагом писал в блоге, что я сделал, но не почему. http://frazer.livejournal.com/21898.html
Я надеюсь, что это поможет, особенно людям, новым для drupal.
короче говоря-я добавил Это на свою страницу, и я получил отзывчивое движение:
var wrap = jQuery(".slides_wrap"),
slides = wrap.find(".img_slide"),
width = slides.width();
slides
.on("move", function(e) {
// Move slides with the finger
// banner has moved -100% when one slide to the right
var left = 100 * e.deltaX / width;
wrap[0].style.left = parseInt(wrap[0].style.left.replace("%", ""))+left+"%";
})
.on("moveend", function(e) {
setTimeout(function(){
var left = parseFloat(wrap[0].style.left.replace("%", ""));
var left_rounded = Math.round(left/100)*100;
if(left%100!=0){
jQuery(".slides_wrap").animate({"left":left_rounded + "%"});
}
},800);
});
на сегодняшний день (ноябрь 2014), похоже, функциональность салфетки была заменена move. URL-адрес плагина http://stephband.info/jquery.event.move/ . Просто импортируйте это вместо swipe.
надеюсь, кто-то найдет это полезным. Пришлось проверить фиксации, чтобы выяснить.
я натыкаюсь на эту тему, поскольку я настоящий нуб и не смог установить Jquery.событие.сильный удар.модуль на JS Теперь это решено, но вот несколько вещей, которые такие нубы, как я, обязательно проверят:
- убедитесь, что у вас есть оба github.com/stephband/jquery.event.move.js и github.com/stephband/jquery.event.swipe.js в папке projet
- сделайте ссылку на эти 2 файла в вашем html-файле
- убедитесь, что у вас unslider.файл js в вашем папка projet также (у меня был unslider.минута.JS-файл, который не был достаточно полным, чтобы Плагины салфетки работали)
в html-файле не требуется дополнительный код javascript, он должен работать с вышеизложенным (по крайней мере, для меня)
оба очень хорошие бесплатные инструменты, благодаря кодеров