私はメニューをスティッキーにする方法に関するjqueryの例をたくさん見てきました。私はきれいなHTMLページにこれらのチュートリアルを適用しました、そして、彼らは完全に働きました。しかし、Twenty Twelveテーマに適用しようとしても、何も起こりません。 fixed属性はメニュークラスに追加されません。
これはCSSです:
.sticky {
position: fixed;
width: 100%;
left: 0;
top: 0;
z-index: 100;
border-top: 0;
}
これが私のメニューです。
<nav id="site-navigation" class="main-navigation" role="navigation">
<h3 class="menu-toggle"><?php _e( 'Menu', 'twentytwelve' ); ?></h3>
<a class="assistive-text" href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentytwelve' ); ?>"><?php _e( 'Skip to content', 'twentytwelve' ); ?></a>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
</nav><!-- #site-navigation -->
これはJQUERYです:
$(document).ready(function() {
var stickyNavTop = $('.main-navigation').offset().top;
var stickyNav = function(){
var scrollTop = $(window).scrollTop();
if (scrollTop > stickyNavTop) {
$('.main-navigation').addClass('sticky');
} else {
$('.main-navigation').removeClass('sticky');
}
};
stickyNav();
$(window).scroll(function() {
stickyNav();
});
});
私は何かが足りないのですか?
私はそれを機能させる方法を見つけました。
<?php wp_enqueue_script('jquery'); ?>
の前に<?php wp_head(); ?>
を、次にjqueryコードを置く必要がありました。
もっと良い、きれいな方法があれば、教えてください。