【发布时间】:2015-02-04 05:00:44
【问题描述】:
不太确定如何实现我在这里尝试做的事情,希望你们能提供帮助。 我的 function.js 文件中有一个脚本,当页面向下滚动到某个点时,它会使我的固定标题淡入视图。
我希望此脚本在主页上正常工作,但我希望页眉在所有内部页面上永久可见。
我确信这需要将这个脚本分解成它自己的文件并稍微改变一下,但我愿意接受建议。
我最初的想法是让脚本在主页上按预期运行,但创建某种 else/if php 语句:
"如果这是首页,什么都不做,否则,给元素添加一个不透明类#navbar"
HTML:
<div id="navbar" class="navbar bg transition">
<div class="row">
<img src="<?php bloginfo('template_directory'); ?>/images/logo-small.png" alt="Jot logo" class="navlogo">
<nav id="site-navigation" class="navigation main-navigation" role="navigation">
<div class="menu" id="mobilemenu">
<span class="menu-global menu-top"></span>
<span class="menu-global menu-middle"></span>
<span class="menu-global menu-bottom"></span>
</div>
<div id="menuexpand">
<div>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
</div>
</div>
</nav><!-- #site-navigation -->
</div><!-- row -->
</div><!-- #navbar -->
CSS:
.bg {
background: #525454;
opacity: 0;
}
.show {
opacity: 1;
}
.transition {
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-o-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
}
.navbar {
background: none;
position: fixed;
z-index: 999;
padding-top: 15px;
top: 0;
opacity:0.3;
}
JS:
$(window).scroll(function() {
// 100 = The point you would like to fade the nav in.
if ($(window).scrollTop() > 100 ){
$('.bg').addClass('show');
} else {
$('.bg').removeClass('show');
};
});
$('.scroll').on('click', function(e){
e.preventDefault()
$('html, body').animate({
scrollTop : $(this.hash).offset().top
}, 1500);
});
这里有什么想法吗?就像我说的,我愿意接受建议。
【问题讨论】: