これについて何か助けていただければ幸いです。ブラウザー ウィンドウのサイズに応じて非表示/表示状態を切り替えるレスポンシブ ドロップダウン メニューを作成しています。これは、オンラインで見つけた jQuery ソリューションに基づいています。
最小 (モバイル) バージョン。クリックイベントがトリガーされるとすぐにメニューがドロップダウンしますが、徐々に開くように「アニメーション」機能を追加したいと思います。
jQuery の経験があまりないので、誰かが自分のコードに「アニメーション」コマンドを追加できる場所を提案できることを願っています。
ありがとうございます。
========= Javascript は次のとおりです。
var ww = document.body.clientWidth;
$(document).ready(function() {
$(".nav li a").each(function() {
if ($(this).next().length > 0) {
$(this).addClass("parent");
};
})
$(".toggleMenu").click(function(e) {
e.preventDefault();
$(this).toggleClass("active");
$(".nav").toggle();
});
adjustMenu();
})
$(window).bind('resize orientationchange', function() {
ww = document.body.clientWidth;
adjustMenu();
});
var adjustMenu = function() {
if (ww < 600) {
$(".toggleMenu").css("display", "inline-block");
if (!$(".toggleMenu").hasClass("active")) {
$(".nav").hide();
} else {
$(".nav").show();
}
$(".nav li").unbind('mouseenter mouseleave');
$(".nav li a.parent").unbind('click').bind('click', function(e) {
// must be attached to anchor element to prevent bubbling
e.preventDefault();
$(this).parent("li").toggleClass("hover");
});
}
else if (ww >= 600) {
$(".toggleMenu").css("display", "none");
$(".nav").show();
$(".nav li").removeClass("hover");
$(".nav li a").unbind('click');
$(".nav li").unbind('mouseenter mouseleave').bind('mouseenter mouseleave', function() {
// must be attached to li so that mouseleave is not triggered when hover over submenu
$(this).toggleClass('hover');
});
}
}
================= そして、ここにHTMLがあります:
<nav class="main_navigation">
<ul class="nav">
<li><a href="item1.php"><span>Item1</span></a></li>
<li><a href="item2.php"><span>Item2</span></a></li>
<li><a href="item3.php"><span>Item3</span></a></li>
<li><a href="item4.php"><span>Item4</span></a></li>
<li><a href="item5.php"><span>Item5</span></a></li>
</ul>