js中的Responsive Toggle菜单(用于移动设备)可以在本地工作,但不能在线工作

时间:2015-08-24 16:19:05

标签: javascript jquery menu toggle

网站ba-hit .com (例如,以720px的低分辨率调整屏幕大小)

我试图在页眉中加载jquery ..在标题中,但是当我点击它时,菜单不会出现。

以下是代码:



$(function() {
		var pull 		= $('#push');
			menu 		= $('nav ul');
			menuHeight	= menu.height();

		$(pull).on('click', function(e) {
			e.preventDefault();
			menu.slideToggle();
		});

		$(window).resize(function(){
			var w = $(window).width();
			if(w > 320 && menu.is(':hidden')) {
				menu.removeAttr('style');
			}
		});
	});

<nav class="clearfixx">
    			<a href="#" id="push">&nbsp;&nbsp;<span>Menu</span></a>
    <ul class="clearfixx newmenu">
    	<li><a id="thehome" href="#">&nbsp;</a></li>
    	<li><a id="proj" href="#">&nbsp;</a></li>
    	<li><a id="loca" href="#">&nbsp;</a></li>
    	<li><a id="cterm" href="#">&nbsp;</a></li>
    	<li><a id="deco" href="#">&nbsp;</a></li>
    	<li><a id="rech" href="#">&nbsp;</a></li>
    	<li><a id="part" href="#">&nbsp;</a></li>
    	<li><a id="cont" href="#">&nbsp;</a></li>
    </ul>
    </nav>
&#13;
&#13;
&#13;

我确定这与某些事情有冲突,但是什么?

2 个答案:

答案 0 :(得分:1)

注意:您也应该提供相关的JavaScript代码段,而不是让我们深入挖掘您网站中的所有代码,试图找到正在发生的事情。你有很多脚本标签。试图找到你想要做的事情是一种痛苦。不要让人们挖掘你的代码来寻找东西。

当您单击#push元素以显示#newmenu元素时,看起来您应该触发一个脚本。

您通过调用$('nav ul')来定义菜单变量,然后在单击#push时调用$('nav ul')元素的.slideToggle。

当我调试你的页面时,在你的加载函数调用时,pull和菜单都是 null 。我不知道页面上的其他脚本是否会在加载过程中影响您的HTML结构,但是当您尝试设置事件时,您的jQuery会为这些变量返回空值,这意味着没有事件被触发。 jQuery很好;其他因素会影响这些元素或页面结构。

最后,您使用的是NAV标记,即HTML5,但您的DOCTYPE是XHTML(不是HTML5)。

答案 1 :(得分:0)

最后我找到了一个解决方案...... 我在函数之前添加了无冲突jquery .. 像这样:

jQuery(document).ready(function( $ ) {

希望它会有所帮助...... 再见。