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

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

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

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)