私はあなたがここで見ることができるナビゲーションを持っています: http://hutchcreative.co.uk/rod/ . メニュー アイコンをクリックしてから連絡すると、アイコンが X に変わるのがわかります。.hide() と .show() を使用する代わりに、これにアニメーションを追加したいと思います。ただし、.animate を追加すると、適用されないようです。これは、.show() を .animate に置き換えることができないということですか? どういうわけか2つを組み合わせる必要がありますか?
以下にjqueryを投稿しました:
$('#menuIcon').toggle(function(){
$('#navigationWrapper ul').show();
$("#navigationWrapper").addClass('activenav');
},
function(){
$('#navigationWrapper ul').hide();
$("#navigationWrapper").removeClass('activenav whiteSection');
});
$('#navigationWrapper #menu-item-59').click(function(){
if($("#navigationWrapper").hasClass('whiteSection')){
$('#contactWrapper').slideUp("slow");
$("#navigationWrapper").removeClass('whiteSection').addClass('activenav');
$('#menuIcon').animate({
opacity: "show"
}, {
duration: "slow",
easing: "easein"
});
$('#closeIcon').hide();
}
else{
$('#contactWrapper').slideDown("slow");
$("#navigationWrapper, #navBlog").addClass('whiteSection');
$('#menuIcon').hide();
$('#closeIcon').animate({
opacity: "show"
}, {
duration: "slow",
easing: "easein"
});
}
});
$("#closeIcon").click(function () {
$('#contactWrapper').slideUp("slow");
$('#menuIcon').animate({
opacity: "show"
}, {
duration: "slow",
easing: "easein"
});
$('#closeIcon').hide();
$("#navigationWrapper, #navBlog ").removeClass('whiteSection').addClass('activenav');
});
$('#navBlog #menu-item-59').click(function(){
if($("#navBlog").hasClass('whiteSection')){
$('#contactWrapper').slideUp("slow");
$("#navBlog").removeClass('whiteSection').addClass('activenav');
$('#menuIcon').animate({
opacity: "show"
}, {
duration: "slow",
easing: "easein"
});
$('#closeIcon').hide();
}
else{
$('#contactWrapper').slideDown("slow");
$("#navBlog").addClass('whiteSection');
$('#menuIcon').hide();
$('#closeIcon').animate({
opacity: "show"
}, {
duration: "slow",
easing: "easein"
});
}
});
達成しようとしている外観は、連絡先をクリックすると、メニューアイコンが上にスライドし、X が下から上にスライドするため、基本的に邪魔にならないように見えます。