ど素人から毛を生やす。<延>

jQuery1系と2系でslideToggleの挙動が微妙に違う!

Web > javascript 2015年7月8日(最終更新:2年前)

このページは2015.7.8に作成されています。時代の流れとそぐわない可能性があったり、僕が今以上のど素人だった頃の記事だったりするので、新しい記事を探してみるのも良いかもしれません。

どもです。

ちょっとハマった事件を晒しときます。

 

グローバルナビのliをhoverすると子要素のulがslideToggleで出てくるというどこにでもある仕組みのjs。
以前作ったそれと全く同じ形のを別サイトに設置することになったのですが、hoverしても子要素のulが全く出てこない。

要素を見てみたところ、

h270708

(・∀・)アルェー??
以前作った方のサイトには付与されてない「overflow:hidden」の姿が。

この原因ですが、使用していたjQueryの種類だったんです。
以前のサイトは jquery-2.1.0.min.js、今回はIE対策で jquery-1.11.1.min.js を積んでいました。

で、どうやらjQueryの1系ではslideToggleの対象要素にoverflow:hiddenがついてしまうっぽいです。

今回は対策として、基本読み込むjsを2.1.0に、IE8のみ1.11.1に分岐することで事を収めました。
どこの世界でもプラグインは最新を使うことが好まれるという話でした。

この記事は役に立ちましたか?
  • _(:3」∠)_ 面白かった  (0)
  • (・∀・) 参考になった (0)
  • (`・ω・´) 役に立った (0)