質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

Q&A

解決済

4回答

2670閲覧

Drawer.jsの動きが急におかしくなった。

hirohiro121212

総合スコア15

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

1グッド

1クリップ

投稿2018/05/24 13:55

スマホのハンバーガーメニューで恐らくメジャーだと思われる
Drawer.jsとiScroll.jsを使った横からニュッっと出て、メニューの縦スクロールも滑らかな素敵なメニューなのですが、

ここ数日か、長くても1ケ月以内に、突然動きがおかしくなってしまいました。

以前に製作していて問題なく動いていたサイトの分も全部同じ不具合が出ています。

不具合の内容というと、

ヨコからニュルっとメニューが出るのは問題ないのですが、
メニュ内で縦にスクロールさせて、下のほうのメニューへ行こうとしても、

メニュー内で縦スクロールできず、

メニュー内で指でスワイプしてちょっと動かすと
メニューが元にもどって消えてしまいます。

そして、以前は背景は止まっていて、
ヨコから出てきたメニューないでスクロールできていたのに、

現在の不具合の状態では、メニュー内でスクロールしているのに、
背景の方がスクロールしてしまいます。

自分が以前作ったサイト全部が同じ状況になっています。

そして、他の人のDrawerのデモやサンプルを見ても同じような状況を見て取れます。

iscrollの部分がなんかおかしくなっているように思いますが、
原因がわかりません。

cdnから読み込んでいたものを、直接サーバーに置いて読み込むようにしてもダメ、

↓ここに似たような事で解決したとありましたが、

<div class="inner"> メニュー達 </div>

で囲むだけで解決と書いてありましたが、情報が少なすぎて
自分は解決しませんでした。

おおもとのサイトも同じようにうまく動いていないようです。
http://git.blivesta.com/drawer/

こまりました。。

tokugawaieyasu👍を押しています

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

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

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

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

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

x_x

2018/05/25 04:08

何もしていないのに急におかしくなったのならブラウザのほうが変わったのでは? 何を使っているのでしょうか?
hirohiro121212

2018/05/25 04:12

いえ、ブラウザも変わっておりません。
hirohiro121212

2018/05/25 04:13

スマホ(iphone等)で見たときに、drawerの動きがおかしいのです。
hirohiro121212

2018/05/25 04:13

たぶん、ここ数日のことなので、気付いていない人が多いかと思います
hirohiro121212

2018/05/25 04:14

chromeのツールでiphoneの表示をエミュレートしても同じように不具合がわかります
x_x

2018/05/25 04:14

自動で更新されるのでは? とりあえず、自分の環境(PC)では再現しません。
hirohiro121212

2018/05/25 04:14

ちなみに、iphoneはサファリです
hirohiro121212

2018/05/25 04:18

PCでは問題ありません。スマホで見てみてください。
x_x

2018/05/25 04:19

バージョンもお願いします
x_x

2018/05/25 04:21

自分の環境=PCなので、見ることはできません
hirohiro121212

2018/05/25 04:21

そうなのですね、実際はPCでもchromeのデベロッパーツールでエミュレート機能がありますので確認はできますよ
hirohiro121212

2018/05/25 04:22

iphoneは5でも6でも8でも同じです
hirohiro121212

2018/05/25 04:22

またアンドロイドでも同じ現象です
hirohiro121212

2018/05/25 04:24

恐らくdrawer.jsでなくiscrol.jsの方か、drawer.cssが、wpの自動アップデートの影響を受けたのかも知れないとは感じてはおります。
hirohiro121212

2018/05/25 05:24

wordpressじゃなくテストに静的なもので確認したら大丈夫でした。
hirohiro121212

2018/05/25 05:25

やはりWPの自動更新の影響のようですが、何をどうすればいいかわかりません。
hirohiro121212

2018/05/25 05:25

ちなみにテストはこちらです↓
guest

回答4

0

私も同様の不具合に悩まされていましたが、以下の記事を参考に修正したところ改善しました。

https://tiltilmitil.co.jp/blog/891

EventListenerにAddした時のpassiveがfalseになっているので、trueに変えよ。とのこと。

投稿2018/06/13 16:22

jouji

総合スコア25

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

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

0

以下の記事の方法で解決しませんでしょうか。

drawer.jsのスクロールがおかしくなっているのを直す対処法
http://sublimelife.hatenablog.com/entry/2018/06/21/183718

投稿2018/06/22 01:49

編集2018/06/22 01:50
tokugawaieyasu

総合スコア13

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

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

0

確かに、iPhone実機ではご質問通りの現象が再現されました。

テストのコードを拝見いたしました。
テストに関して言えることですが、サイドメニュー内の、aタグが閉じられておらず、
下のメイン要素の方までリンクが広がってしまっています。
確かに、HTML5では、閉じタグの記述は不要という仕様ですが、aタグに関してはその限りではありませんし、
実際には、ブラウザが正しくレンダリングしてくれないのが現状です。
そこを直して直ったなら、
Wordpressの更新の影響で、タグ構造に不具合が起こったなどの可能性があります。

各jQueryプラグイン、CSSには、オンラインで何かを取得などはしていないと思うので、
HTML要素の不具合が原因だと思われます。

まずは、タグの構造、閉じタグや、要素の過不足など、ご確認ください。

投稿2018/05/31 04:37

miyabi_takatsuk

総合スコア9528

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

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

0

ベストアンサー

同じ問題に直面し、解決できたので記事書きました。
https://blog.right-apps.com/develop/2019/drawer-menu-bug-only-smartphone/

Chromeの最近の変更でpassiveはデフォルトでtrueであり、preventDefaultが実行されない仕様になったようです。つまり背景スクロールやメニューが閉じちゃう動作をキャンセルしてくれないから今回の問題がおきている模様。

addEventListenerではpassiveはtrueとしてaddされているはずなので、passiveをfalseにしてpreventDefaultが実行されるようにしてやらねばならなかったです。

投稿2019/04/28 15:53

maztak

総合スコア61

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問