【发布时间】:2015-01-01 11:04:57
【问题描述】:
当我打开一个菜单时,我想更改整个网站的类以为菜单添加填充。我在 wordpress 的函数 php 中尝试这样做,但它不会影响任何东西点击时。有任何想法吗?否则整个站点工作正常,如果我像上面的函数那样向下滚动,则将固定的刊头添加到正文类中。
我自己的javascript sn-p:
if ($(' #primary-navigation' ).hasClass( 'site-navigation .primary-navigation .toggled-on' )) {
body.addClass( 'menu-padding' );
} else {
body.removeClass( 'menu-padding' );
}
javascript中的body变量
function( $ ) {
var body = $( 'body' ),
_window = $( window );
sn-p 代替窗口宽度函数:
if ( _window.width() > 781 ) {
var mastheadHeight = $( '#masthead' ).height(),
toolbarOffset, mastheadOffset;
if ( mastheadHeight > 48 ) {
body.removeClass( 'masthead-fixed' );
}
if ( body.is( '.header-image' ) ) {
toolbarOffset = body.is( '.admin-bar' ) ? $( '#wpadminbar' ).height() : 0;
mastheadOffset = $( '#masthead' ).offset().top - toolbarOffset;
_window.on( 'scroll.twentyfourteen', function() {
if ( _window.scrollTop() > mastheadOffset && mastheadHeight < 49 ) {
body.addClass( 'masthead-fixed' );
} else {
body.removeClass( 'masthead-fixed' );
}
} );
}
if ($(' #primary-navigation' ).hasClass( 'site-navigation .primary-navigation .toggled-on' )) {
body.addClass( 'menu-padding' );
} else {
body.removeClass( 'menu-padding' );
}
}
我在 wordpress 中的标头修复过程中添加了我的 javascript,因为此功能仅在屏幕分辨率高于 781 像素时才有效。
为菜单添加填充的css
.menu-padding .site-main {
margin-top: 48px;
}
主体部分:
<body <?php body_class(); ?>>
导航菜单:
<nav id="primary-navigation" class="site-navigation primary-navigation" role="navigation">
<button class="menu-toggle">Menu function</button>
</nav>
点击时的导航类:
<nav id="primary-navigation" class="site-navigation primary-navigation toggled-on" role="navigation">
<button class="menu-toggle">Menu function</button>
</nav>
站点主分区:
<div id="main" class="site-main">content<div/>
【问题讨论】:
-
body到底是什么?它是一个 jQuery 对象吗? -
body 函数只是调用 html 中的 body 标签。添加功能代码澄清
标签: javascript jquery css wordpress class