スワイプ検出を可能にする padilicious のコードを使用しています ( http://padilicious.com/code/touchevents/ )。それは私にとってはうまくいかず、その理由を理解できないようです。私はこのウェブサイトで同様の質問に対する他の回答を見て、その解決策に従いましたが、まだ運がありません.
padilicious の JavaScript コードを、ルート ディレクトリの "js" というフォルダーにある swipesense.js というファイルに保存しました。以下は私のヘッダーに入ります:
<script src='$root/js/swipesense.js' type='text/javascript'></script>
以下のコードが私の体に表示されます。
<div class='main_image'
ontouchstart='touchStart(event,'main_image');'
ontouchend='touchEnd(event, $next_slideURL, $previous_slideURL);'
ontouchmove='touchMove(event);'
ontouchcancel='touchCancel(event);'>
<a href='$next_slideURL' style='display:block'>
<img src='$root/$item_path/$slideFile' alt='$slideCaption from $projectTitle\n [hidden]' style='max-width:832px; max-height:500px' title='$projectTitle: $slideCaption. \nclick for next slide ($next_slideCaption). '>
</a>
</div>
私の processingRoutine() メソッドは次のとおりです。
function processingRoutine() {
var swipedElement = document.getElementById(triggerElementID);
if ( swipeDirection == 'left' ) {
window.location.href = "www.nba.com";
} else if ( swipeDirection == 'right' ) {
window.location.href = "www.nba.com";
}
}
注: 私のタグには、id='main_image' なしで class='main_image' しかありません。私はそれらが交換可能であると仮定しています。私が間違っている可能性があります (間違っている場合はお知らせください) が、id オプションも含めてみましたが、どちらも機能しませんでした。
なぜこれがうまくいかないのか、私には本当にわかりません。どんな助けでも大歓迎です!
(更新:main_image divをスワイプしてもページがスクロールしないため、スワイプが検出されることはわかっています。これは、巧妙なコードがなければスクロールします。ルーチンが機能しない理由がわかりません。何かアイデアはありますか?)