就在几天前,我得到了一个很棒的脚本,它基本上允许静态网站上的菜单项缩小和扩展,具体取决于菜单中有多少列表项。现在我已经开始将网站转换为Wordpress安装工作了,但由于我不熟悉Javascript,因此我无法使用它。
它不会运行脚本,只运行基本的Wordpress PHP。
这是脚本:
$(document).ready(function() {
li_count = $('#main-navigation li').length;
div_size = $('#main-navigation').width();
new_li_font_size = (div_size/10)/li_count+'px';
new_li_width = 100/li_count+'%';
$('#main-navigation li').css('font-size', new_li_font_size);
$('#main-navigation li').css('width', new_li_width);
console.debug(new_li_size);
});
这是我的上一个导航:
<nav id="main-navigation">
<ul>
<li><a href="index.html">Hjem</a></li>
<li><a href="butikker-single.html">Butikker</a></li>
<li><a href="kampanjer.html">Kampanjer</a></li>
<li><a href="#">Åpningstider</a></li>
<li><a href="#">Om torvgårdens ting og tang</a></li>
</ul>
</nav><!-- END #main-navigation -->
这是我的当前导航:
<nav id="main-navigation" role="navigation">
<ul>
<?php wp_nav_menu( array( 'theme_location' => 'header-menu' ) ); ?>
</ul>
</nav><!-- END #main-navigation -->
我一直在看脚本,我认为它可能与php中没有更多li标签的事实有关,但我可能错了,考虑到我没有使用jQuery的经验。有人能帮帮我吗? :)
以防万一,这是jQuery的实现,我把它放在脑海里:
<?php wp_enqueue_script("jquery"); ?>
<?php wp_head(); ?>
<script type="text/javascript" src="<?php bloginfo("template_url"); ?>/js/menu.js"></script>
迈克尔
答案 0 :(得分:1)
要在WordPress
中添加脚本,您可以在wp_enqueue_script
文件中使用functions.php
function load_menu_js() {
wp_enqueue_script(
'menu_js',
get_template_directory_uri() . '/js/menu.js',
array('jquery')
);
}
add_action('wp_enqueue_scripts', 'load_menu_js');
以上代码会在页面的head部分添加script
,您无需使用<script>
手动添加menu.js
标记,这是推荐的方法。
另外你应该使用
(function ($) {
$(document).ready(function() {
// code goes here
});
})(jQuery);
在用于加载wp_head()
文件的menu.js
之后删除脚本标记,并更改以下代码
<nav id="main-navigation" role="navigation">
<ul>
<?php wp_nav_menu( array( 'theme_location' => 'header-menu' ) ); ?>
</ul>
</nav>
到(wp_nav_menu()
生成ul
个li
标签)
<nav id="main-navigation" role="navigation">
<?php wp_nav_menu( array( 'theme_location' => 'header-menu' ) ); ?>
</nav>
另请注意,nav
是html5
代码,旧浏览器不支持,您可以使用<div id="main-navigation"></div>
代替。