我已经解决了这个问题,我发帖只是为了帮助其他人节省一些时间。
我正在将 unslider 用于商业网站,我正在制作响应式网站,因此向滑块添加触摸支持的功能很有吸引力。不幸的是,正如作者声称的那样,它不能直接开箱即用。
我已经解决了这个问题,我发帖只是为了帮助其他人节省一些时间。
我正在将 unslider 用于商业网站,我正在制作响应式网站,因此向滑块添加触摸支持的功能很有吸引力。不幸的是,正如作者声称的那样,它不能直接开箱即用。
更新
我使用的 unslider 插件已经过时了。我是从我第一次找到它的 unslider.com 下载的(它仍然是一个过时的版本),因此我遇到了困难。
如果您需要获取最新版本,请访问:https ://github.com/idiot/unslider/
如果您想查看我的问题报告:https ://github.com/idiot/unslider/issues/69
问题是作者已经有 4 个月没有更新他的项目了,从那时起 swipe 事件就从 $.event.swipe 移到了 $.event.special.swipe。
问题出现在 unslider 插件的第 108 行,它测试是否存在 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);
但我不建议这样做。
另外,作者没有提到这一点,但是刷卡插件页面有,除了 jquery.event.swipe 之外,您还需要在脚本中包含 jquery.event.move 。
我希望这对某人有所帮助:)
要回答以下评论:
请记住以正确的顺序包含所有文件,并记住所有文件:
<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>
截至今天(2014 年 11 月),滑动功能似乎已被移动取代。该插件的网址是http://stephband.info/jquery.event.move/。只需导入这个而不是滑动。
我希望有人觉得这很有用。必须检查提交才能找出答案。
这对我不起作用,但经过大量调整后,我让它顺利工作。我一步一步地在博客上写了我所做的,但不知道为什么。 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);
});
我遇到了这个问题,因为我是一个真正的菜鸟,安装 Jquery.event.swipe.js 模块时遇到了麻烦现在已经解决了,但是像我这样的菜鸟一定要检查一下:
html 文件中不需要额外的 javascript 代码,它应该适用于上述内容(至少它对我有用)
两个非常好的免费工具,感谢编码人员