slider や sortable など、jQuery UI で用意された機能を利用すると、ドラッグや並び替え等 複雑な動作を短いコードで実装することができます。
ですが、スマートフォンのようなタッチデバイス上では期待した動きが望めない事もあります。
そこで今回は、タッチデバイス上でも マウスやキーボードの操作と同様に動かすことを可能にする実装方法について、解説いたします。
なお、未経験からITエンジニアへの就職に興味がある方や未経験からプログラミングを効率よく学びたいと考えている方は、就職率98.3%で受講料無料のプログラミングスクールプログラマカレッジもおすすめです。
目次
jQuery UIをタッチデバイスに対応させるためのjQuery UI Touch Punchというライブラリがあります。
今回は、このjQuery UI Touch Punch を使用して タッチイベントに対応するシステムを作成します。
jQuery UI Touch Punch をダウンロードして使用する場合は、ダウンロードサイトから、jquery.ui.touch-punch.min.js ファイルをダウンロードして 任意の場所に保存し、次のように読み込んで使用します。
<script type="text/javascript" src="保存場所/jquery.ui.touch-punch.min.js"></script>
jQuery UI Touch Punch の CDN を利用する場合は、次のように記述して jquery.ui.touch-punch.min.js ファイルを直接読み込んで使用します。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js"></script>
こちらから最新バージョンをご確認下さい。
jQuery UI と共に jQuery UI Touch Punch を読み込んで、タッチイベントで動作可能なスライダーを作成します。
スライダーをタッチイベントで動かしてみて下さい。
また、タッチイベントに対応していないスライダーと比較してみて下さい。
上のサンプルのソースコードは次の通りです。
<script type="text/javascript" src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.12.1/themes/hot-sneaks/jquery-ui.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js"></script>
<script type="text/javascript">
$(function() {
$("#wkSlider").slider();
});
</script>
<div style="background-color:#CCC; padding : 30px 50px;">
<div id="wkSlider"></div>
</div>
jQuery UI Touch Punch を読み込むだけで、タッチイベント対応のシステムとなります。
jQuery UI の導入についてはjQuery【 jQuery UI 】UI の導入と使用方法をご参照下さい。
今度は、タッチイベントで ドラッグ&ドロップによる並べ替えが可能となるように実装します。
次の 5 項目を、タッチイベントによるドラッグ&ドロップで入れ替えてみて下さい。
また、タッチイベントに対応していないものと比較してみて下さい。
上のサンプルのソースコードは次の通りです。
<script type="text/javascript" src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.12.1/themes/hot-sneaks/jquery-ui.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js"></script>
<script type="text/javascript">
$(function() {
$("#sortableArea").sortable();
});
</script>
<div style="background-color:#CCC; padding : 20px 20px 10px;">
<div id="sortableArea">
<div class="ui-state-default">1</div>
<div class="ui-state-default">2</div>
<div class="ui-state-default">3</div>
<div class="ui-state-default">4</div>
<div class="ui-state-default">5</div>
</div>
</div>
jQuery UI の Touch Punch を使用してスマホに対応する方法について、いかがでしたでしょうか。
「Webプログラマになりたいけど、独力では限界がある」と感じている方には、「プログラマカレッジ」がおすすめです。
「プログラマカレッジ」は本気でプログラマを目指す方のための、就職支援付き、受講料無料のプログラミングスクールです。
今回ご紹介した「jQuery」を含む豊富なカリキュラムで、IT初心者からWebプログラマとして就職するまで、プロが完全にサポートします。
本気でプログラマとして就職・転職したいという方は、一度のぞいてみてはいかがでしょうか。
INTERNOUS,inc. All rights reserved.