我对此非常头疼,而且我一直试图从这里的其他几个帖子中抽出来,没有运气。我的问题是我希望导航在到达页面顶部时停止滚动。目前它将滚动页面。
背景很少, 我正在使用wordpress,目前我已经设置了一个外部脚本文件,并将其排入wordpress。使用php设置导航以使用wordpress。
您可以在以下位置查看我的实时网站 www.greenwellgraphics.com
这是我的Header.php文件:
<?php
/**
* The Header template for our theme
*
* Displays all of the <head> section and everything up till <div id="main">
*
* @package WordPress
* @subpackage Twenty_Thirteen
* @since Twenty Thirteen 1.0
*/
?><!DOCTYPE html>
<!--[if IE 7]>
<html class="ie ie7" <?php language_attributes(); ?>>
<![endif]-->
<!--[if IE 8]>
<html class="ie ie8" <?php language_attributes(); ?>>
<![endif]-->
<!--[if !(IE 7) | !(IE 8) ]><!-->
<html <?php language_attributes(); ?>>
<!--<![endif]-->
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width">
<title><?php wp_title( '|', true, 'right' ); ?></title>
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<!--[if lt IE 9]>
<script src="<?php echo get_template_directory_uri(); ?>/js/html5.js"></script>
<![endif]-->
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<div id="page" class="hfeed site">
<header id="masthead" class="site-header" role="banner">
<a class="home-link" href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home">
<h1 class="site-title"><?php bloginfo( 'name' ); ?></h1>
<h2 class="site-description"><?php bloginfo( 'description' ); ?></h2>
</a>
<div id="navbar" class="navbar">
<nav id="site-navigation" class="navigation main-navigation" role="navigation">
<h3 class="menu-toggle"><?php _e( 'Menu', 'twentythirteen' ); ?></h3>
<a class="screen-reader-text skip-link" href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentythirteen' ); ?>"><?php _e( 'Skip to content', 'twentythirteen' ); ?></a>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
</nav><!-- #site-navigation -->
</div><!-- #navbar -->
</header><!-- #masthead -->
<div id="main" class="site-main">
这是我正在使用的javascript:
var num = 125; //number of pixels before modifying styles
$(window).bind('scroll', function () {
if ($(window).scrollTop() > num) {
$('.navbar').addClass('fixed');
} else {
$('.navbar').removeClass('fixed');
}
});
和CSS:
.navbar {
background-color: #ffffff;
border-bottom:1px dashed #CCCCCC;
border-top:1px dashed #CCCCCC;
margin: 0 auto;
max-width: 800px;
width: 100%;
text-align:center;
}
.fixed {
position:fixed;
top:0;
}
Functions.php显示我在哪里/如何实现脚本。
function get_Fixed_header() {
wp_enqueue_script('jquery');
wp_register_script( 'add-GF-js', get_template_directory_uri() . '/js/test.js');
wp_enqueue_script('add-GF-js');
}
add_action( 'wp_enqueue_scripts' , 'get_Fixed_header' ); //hook to the enqueue function built into wordpress
*编辑了java脚本以显示我正在调用div类。遗憾。
答案 0 :(得分:0)
当然,你到处寻找,问题尽可能简单。
检查你的jquery选择器$('navbar')
,你正在抓取一个html元素而不是class'ed或ID'd元素。因此,请将其修复为$('.navbar')
或$('#navbar')
。
修改强>
而不是
(文档)$。就绪(函数(){
使用
jQuery的(文件)。就绪(函数($){
更多信息
http://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_Wrappers