slides(slides.jquery.js)をスマートフォンでフリック操作(flickable)対応可能にしたい。

slidesという画像をスライド表示させるライブラリを、スマートフォン向けにフリック(指で左右に動かす)操作を可能になるよう改造してみました。

「slides」本体は下記にて入手可能です。
SlidesJS, a responsive slideshow plug-in for jQuery (1.7.1+) with features like touch and CSS3

1)424行目あたりに、下記のように左右のフリック操作を感知させるイベントリスナーを追加します。

      $(function() {
          var box = $("#slides_cont")[0];
          box.addEventListener("touchstart", touchHandler, false);
          box.addEventListener("touchmove", touchHandler, false);
          box.addEventListener("touchend", touchHandler, false);
      });

      function touchHandler(e) {
          e.preventDefault();
          var touch = e.touches[0];
          if (e.type == "touchstart") {
              startX = touch.pageX;
          } else if (e.type == "touchmove") {
              diffX =0;
							diffX = touch.pageX - startX;
          } else if (e.type == "touchend") {
              if (diffX > 60) {
							animate('prev', effect);
							diffX = 0;
              } else if (diffX < -60) {
							animate('next', effect);
							diffX = 0;
              } else  {
								var href = $(".slides_control a.current").attr("href");
								window.open(href,'_self');
									diffX = 0;

								
							}
          }
      }
			

2)182行目付近を下記のように変更し、現在表示されているスライドにcurrentというクラスを出すように変更します。

control.children(':eq('+ next +')').css({
	left: position,
	display: 'block'
}).addClass('current').siblings().removeClass('current');


サンプルはこちら
slides(slides.jquery.js)のフリッカブル化 - jsdo.it - Share JavaScript, HTML5 and CSS


参考ページ
http://dev.worksap.co.jp/Members/nogunogu/2010/06/07/iphonesafari-javascript%E3%81%A8css%E3%82%A2%E3%83%8B%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E3%83%95%E3%83%AA%E3%83%83%E3%82%AF%E6%93%8D%E4%BD%9C%E3%82%92%E5%AE%9F%E8%A3%85%E3%81%97/