スマホでもPCと同じマウスオーバーの効果を与える方法

eyecatch-jquery-touchstart

スマホでサイトを表示した時にも、PCと同じマウスオーバーの効果を与える方法を紹介します。

スマホでは、マウスは使わずにタッチ操作です。そこで、タッチする時と離した時に、変化をさせる様に設定してあげます。

スポンサーリンク

base.jsに以下のコードを追加する

var linkTouchStart = function(){
thisAnchor = $(this);
touchPos = thisAnchor.offset().top;
moveCheck = function(){
nowPos = thisAnchor.offset().top;
if(touchPos == nowPos){
thisAnchor.addClass("hover");
}
}
setTimeout(moveCheck,100);
}
var linkTouchEnd = function(){
thisAnchor = $(this);
hoverRemove = function(){
thisAnchor.removeClass("hover");
}
setTimeout(hoverRemove,500);
}

$(document).on('touchstart mousedown','a',linkTouchStart);
$(document).on('touchend mouseup','a',linkTouchEnd);

これで、PCでマウスオーバーした時と同じ効果を、スマホでも表現できます。

コードのクラス名「hover」は、使用するスタイルのクラス名に変更してください。

 

STINGER5で使用するには

ドメイン名/public_html/wp-content/themes/stinger5verxxxxxxxx/js/base.js 「base.js」に追加でOKです。  

 

さいごに

STINGER5のアップデートをすると、base.jsが上書きされてしまうので、注意してください。

スポンサーリンク

プロフィール

iMacと猫が好きな完全インドア派。

3 件のコメント

  • 恐れ入りますが、この記事の方法を用いたスマホ(iPhone SE)から動作確認出来るデモページはないのでしょうか?
    是非に応用させて戴きたくて、デモページでどんな様子か確認出来たら嬉しいのですが。

    • サンプル作成してみました。(少しデザインが崩れていますが…)
      記事ではSTINGER5ですが、ファイルが見つからなかったので、STINGER8を代用しています。
      それと、記事にクラス名を変更することを書き忘れていたので、追記しています。

      https://nekonotesou.com/?p=1

  • 早速のサンプルページの作成をほんとにありがとうございました、感謝申し上げます。
    サンプルではタップで瞬時に遷移してしまうので、PCのhover+クリックのような感触とは若干違和感があるんですが、その当たりは調整出来そうですので、ワクワクして来ました(笑)

    ほんとにありがとうございました m(_ _)m

  • コメントを残す