私は自分のサイトで Slicknav を使用して、モバイル フレンドリーなメニューを追加しています。ページ アンカーにスムーズ スクロールを追加するために実行しているスクリプトがあります。何らかの理由で、子メニュー項目では機能しますが、親メニュー項目では機能しません。
これは、親メニュー項目に、子メニューを開くための何らかのクリック機能が関連付けられているためだと思います。私はjQueryが苦手で、これを回避する方法がわかりません。
スクロール効果を追加するために使用しているものは次のとおりです。
$('.slicknav_menu a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
&& location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html,body').stop().animate({
scrollTop: target.offset().top - 120 //offsets for fixed header
}, 1000);
return false;
}
}
});