起初我想尝试用jQuery Mobile的swipeleft和swiperight,可以实现手势左右滑动的效果,但是jQuery Mobile对页面的其它部分影响很大,所以不得不放弃使用。接着我又尝试用zepto.js,但是由于页面很大部分已经依赖了jQuery,jQuery和zepto.js存在冲突,我本打算解决冲突,让两者共存,但是最后还是放弃了,因为觉得引入两者实在是太冗余。所以我最后采用了js原生的touch事件。通过比较前后手指在页面中的坐标之差来判断向左滑动还是向右滑动,然后移动包括图片的元素ul的left值。
这里用到了QWeb,xml文件内容如下:
<span style="white-space:pre"> </span><div class="visible-xs mb-box">
<div class="slider">
<ul class="clearfix slider-wrap">
<t t-foreach="product.product_template_image_urls" t-as="image_url">
<li>
<a href="javascript:;" class="pic">