私の基本的なセットアップは、アコーディオン効果を作成するために.slideDown()
とを使用しています。.hide()
ボタンまたはその下の要素にクリックされたものである「トグル」divがあります.slideDown()
。これは、デフォルトでは非表示になっています$(this).next().slideDown()
。
これを if ステートメント内で行っていますif($(this).next().is(":hidden")) {Do this};
。これにより、基本的に同じ div を何度も使用でき、すべてスクリプトの単一ブロックで制御できます。これらの div は垂直に積み上げられます: トグル div > 非表示の div > トグル div > 非表示の div など。
私がやりたいのは.hide()
、クリックされた「トグル」divの上のdivです。これは以前は非表示で、.slideDown()
. そして見えるようになりました。
を使用しようとしましたがif($(this).closest('.hidden').is(':visible')) {Do this};
、「hidden」は問題の要素のセレクターであり、その要素をターゲットにしてから.hide()
成功しませんでした。
を読んだ.closest()
ので、この目的で使用しようとしました。また、div を直接ターゲットにしようとしましたが、同じ div のインスタンスが複数あるため、クリックされている div に関連する div を区別する必要があります。
これが私が取り組んでいるプロジェクトです: http://www.jeremiahdesign.com/GD491/weekSix/portfolio/index.html
これはクラスのプロジェクトです。どんな洞察でも大歓迎です。