0

我正在从头开始在 Wordpress 中构建自定义主题。现在,我只完成了基础,例如创建必要的 .php 文件,如 index.php、footer.php 等。在我的导航菜单中,我有一个联系人锚点,它应该用动画在页脚中导航你。因此,它不适用于 Chrome 和 Safari,但适用于 Firefox。( IE 尚未测试)。这是我在header.php 中元标记后的jQuery 和 js 文件引用:

<!-- Scripts -->
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/scrolling.js"></script>
<!-- End of Scripts -->

<!-- CSS links -->


<?php wp_enqueue_script("jquery"); ?>
<?php wp_head(); ?>

</head>

这是我的 js 文件,非常简单:

$(document).ready(function()
{

  var v = $('div.nav-bar li a:last').addClass('scrollToBottom');
    v.click(function()
    {
    $('html,body').animate( {scrollTop: $(document).height() }, 1600);
      console.log('hello');
      return false;
    });

});

我的导航栏是在functions.php 中使用类“nav-bar”动态创建的。因此,我添加了 console.log 只是为了确保 JS 正常工作,并且确实如此,当您单击联系人时会触发 click 函数但没有任何反应。抱歉,我无法上传任何图片。此外,它在静态时工作正常,但我不想要静态导航,它在 Firefox工作......任何建议将不胜感激。

4

1 回答 1

0

你不应该<?php wp_enqueue_script("jquery"); ?>在你的header.php文件中使用。wp_enqueue_script()应该添加到您的functions.php文件中并相应地使用add_action('wp_enqueue_scripts', 'function_name').

那么你也不需要添加<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

WordPress 在无冲突模式下加载 jQuery。所以你的 jQuery 应该是这样的:

jQuery(document).ready(function($)
{
 // your code here
});
于 2013-03-20T17:24:35.527 回答