jQuery Unslide – Touch不起作用

我已经解决了这个问题,而且我只是发帖帮助别人节省一些时间。

我正在使用unslider用于商业网站,我正在做出响应的网站,因此为滑块添加触摸支持的function很吸引人。 不幸的是,正如作者声称的那样,它不能直接开箱即用。

UPDATE
我使用的unlider插件已经过时了。 我从unslider.com下载它,我第一次找到它(它仍然是一个过时的版本),因此我遇到了困难。

如果您需要获取最新版本,请访问: https : //github.com/idiot/unslider/

如果您想查看我的问题报告: https : //github.com/idiot/unslider/issues/69


问题是作者在4个月内没有更新他的项目,从那时起,滑动事件已从$ .event.swipe移动到$ .event.special.swipe。

问题发生在unlider插件的第108行,它测试了滑动插件的存在。

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); 

但我不建议这样做。

此外,作者没有提到这一点,但是滑动插件页面确实如此,除了脚本中的jquery.event.swipe之外,还需要包含jquery.event.move。

我希望这有助于某人:)


要回答以下评论:

请记住按正确的顺序包含所有文件,并记住所有文件:

     

这对我来说不起作用,但经过大量调整后我得到了顺利的工作。 我一步一步地写了我的博客,但不是为什么。 http://frazer.livejournal.com/21898.html

我希望有所帮助,尤其是那些刚出道的人。

简而言之 – 我将此添加到我的页面中,我得到了响应式动作:

 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年11月),似乎刷卡function被移动取代。 该插件的url是http://stephband.info/jquery.event.move/ 。 只需导入此一个而不是滑动。

我希望有人觉得这很有用。 不得不检查提交的结果。

我正在讨论这个问题,因为我是一个真正的菜鸟,并且无法安装Jquery.event.swipe.js模块现在它已经解决了,但是这里有一些像我这样的东西会确保检查:

  • 确保你的projet文件夹中有github.com/stephband/jquery.event.move.js和github.com/stephband/jquery.event.swipe.js
  • 在html文件中引用这两个文件
  • 确保你的projet文件夹中也有unslider.js文件(我有unlider.min.js文件而不是完整的,以使刷卡插件工作)

在html文件中不需要额外的javascript代码,它应该与上面的代码一起工作(至少它对我有用)

由于编码员的缘故,两者都是非常好的免费工具