Genesis テーマHEREを使用して Wordpress でサイトを構築しています。最近、「スティッキー メニュー」を実装しました。このメニューは、Chrome、Opera、Firefox ではうまく機能しますが、Safari では奇妙なグラフィックの問題があります。下にスクロールすると、Safari のメニューが画面の左側から「フライイン」してから、適切な場所に固定されます。これは、上にスクロールするときではなく、下にスクロールするだけです。
私はいくつかのフォーラムを閲覧し、解決策を見つけようとしました。「ウィンドウ」と「ドキュメント」を切り替えて、JSで問題を解決できるようです。ただし、この場合は機能しませんでした。
これが私のJSです。
jQuery(document).ready(function($) {
var $filter = $('.nav-primary');
var $filterSpacer = $('<div />', {
"class": "filter-drop-spacer",
"height": $filter.outerHeight()
});
if ($filter.size())
{
$(window).scroll(function ()
{
if (!$filter.hasClass('fix') && $(window).scrollTop() > $filter.offset().top && window.innerWidth > 768)
{
$filter.before($filterSpacer);
$filter.addClass("fix");
}
else if ($filter.hasClass('fix') && $(window).scrollTop() < $filterSpacer.offset().top)
{
$filter.removeClass("fix");
$filterSpacer.remove();
}
});
}
});