🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

2824閲覧

JavaScriptのmouseenterがスマホ(safari)で効かない

ringoame49

総合スコア46

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/11/22 13:31

質問失礼します。

タイトル通りで困っています。
どうすればスマホでもmouseenterが効くのでしょうか。
以下がソースになります。

HTML

<div id="box3"> <div class="out"> <div></div> </div> <div class="out"> <div></div> </div> <div class="out"> <div></div> </div> </div>

css

#box3 { width: 100%; overflow: hidden } .out { position: relative; float: left; width: calc((100% - 30px) / 3); height: 120px; margin: 0 10px 0 0; background: red; overflow: hidden } .out div { position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: blue; z-index: 1 }

js

var box3 = document.getElementById('box3'); function boxEnter(numb){ box3.children[numb].firstElementChild.animate( { left: ['-100%', 0] }, { duration: 200, fill: 'forwards' } ) } function boxLeave(numb){ box3.children[numb].firstElementChild.animate( { left: [0, '-100%'] }, { duration: 200, fill: 'forwards' } ) } for(let i = 0; i <= 3; i++){ box3.children[i].addEventListener('mouseenter', function(){ boxEnter(i); }); box3.children[i].addEventListener('mouseleave', function(){ boxLeave(i); }); }

お分かりの方がいましたらご教授いただけますと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

タッチデバイスの場合、mouse***じゃなくてtouch***イベントを監視する必要があると思います。

touchstartとかtouchenterとか…。
https://developer.mozilla.org/ja/docs/Web/API/Touch_events

投稿2020/11/22 13:39

gpsoft

総合スコア1323

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ringoame49

2020/11/22 15:45

ご回答ありがとうございます。 以外とややこしいんですね。。。 お教えいただいたページを理解する体力が今は尽きているので明日また目を通します!
ringoame49

2020/11/23 13:14

厳密にいうとスマホ(ios safari、Android(Samsung ブラウザ))で期待通りの動きをしないという事がわかりました。 Androidでもchromeなら期待通りの動きをします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問