Javascript .removeClass方法无响应
我试图找出.removeClass方法在我们的主页下拉菜单上不起作用的原因。以下是相关的HTML标记:Javascript .removeClass方法无响应,javascript,jquery,html,css,drop-down-menu,Javascript,Jquery,Html,Css,Drop Down Menu,我试图找出.removeClass方法在我们的主页下拉菜单上不起作用的原因。以下是相关的HTML标记: <div id="categorynav"> <div id="manufacturers" class="categorybox"> <div id="manufacturershead" class="category_head"><h1>Manufacturers</h1></div>
<div id="categorynav">
<div id="manufacturers" class="categorybox">
<div id="manufacturershead" class="category_head"><h1>Manufacturers</h1></div>
<div id="manufacturersbody" class="category_body">
<a href="#" class="more">MORE</a>
<ul>
<li><a>some menu item</a></li>
<li><a>some menu item</a></li>
</ul>
</div
</div>
<div id="categories" class="categorybox">
<div id="categorieshead" class="category_head"><h1>Categories</h1></div>
<div id="categoriesbody" class="category_body">
<a href="#" class="more">MORE</a>
<ul>
<li><a>some menu item</a></li>
<li><a>some menu item</a></li>
</ul>
</div>
</div>
<div id="applications" class="categorybox">
<div id="applicationshead" class="category_head"><h1>Application Notes</h1></div>
<div id="applicationsbody" class="category_body">
<a href="#" class="more">MORE</a>
<ul>
<li><a>some menu item</a></li>
<li><a>some menu item</a></li>
</ul>
</div>
</div>
</div>
最后,JS:
<script type="text/javascript">
jQuery(document).ready(function($) {
// add some clicks:
$('#manufacturershead, #manufacturers .more').click(load_manufacturers);
$('#categorieshead, #categories .more').click(load_categories);
$('#applicationshead, #applications .more').click(load_applications);
function load_manufacturers() {
$('#category_temp').load('load_manufacturersbox.php').fadeIn('slow');
$('.category_head').removeClass('active');
$('#manufacturershead').addClass('active');
return false;
}
function load_categories() {
$('#category_temp').text('Loading...');
$('#category_temp').load('load_categoriesbox.php',addAZbar).fadeIn('slow');
$('.category_head').removeClass('active');
$('#categorieshead').addClass('active');
return false;
}
function load_applications() {
$('#category_temp').fadeOut();
/*
$('#category_temp').load('load_applicationsbox.php').fadeIn('slow');
*/
$('.category_head').removeClass('active');
$('#applications').addClass('active');
return false;
}
function addAZbar() {
$('#categories_list').listnav({
noMatchText: '<span class="warning">Please click another letter.</span>',
prefixes:['the','a'],
onClick: function(letter){ letterchange(letter); }
});
function letterchange(letter) {
if (letter == 'all') { $('#categories_list').addClass('all') ;}
else {
$('#categories_list').removeClass('all') ;
}
}
};
});
</script>
jQuery(文档).ready(函数($){
//添加一些点击:
$(“#manufacturershead,#manufacturers.more”)。单击(加载制造商);
$(“#categorieshead,#categories.more”)。单击(加载#u类别);
$(“#applications head,#applications.more”)。单击(加载#u应用程序);
功能负载_制造商(){
$('#category_temp').load('load_manufacturersbox.php').fadeIn('slow');
$('category_head')。removeClass('active');
$(“#manufacturershead”).addClass('active');
返回false;
}
函数加载_类别(){
$('category_temp')。文本('Loading…');
$('category_temp').load('load_categoriesbox.php',addAZbar.fadeIn('slow');
$('category_head')。removeClass('active');
$('#categorieshead').addClass('active');
返回false;
}
函数加载_应用程序(){
$(“#类别#临时”).fadeOut();
/*
$('#category_temp').load('load_applicationsbox.php').fadeIn('slow');
*/
$('category_head')。removeClass('active');
$(“#应用程序”).addClass(“活动”);
返回false;
}
函数addAZbar(){
$(“#类别列表”).listnav({
noMatchText:“请单击另一封信。”,
前缀:['the','a'],
onClick:function(letter){letterchange(letter);}
});
功能字母更改(字母){
如果(字母=='all'){$('#类别_列表').addClass('all');}
否则{
$(“#类别列表”).removeClass('all');
}
}
};
});
我只是希望用户能够在不离开主页的情况下关闭菜单。重申一下,.removeClass('active')方法工作不正常,或者CSS有问题。这是我的两个猜测,但我还不能自己解决这个问题。我非常感谢您的帮助,我们的高级开发人员今天不在
JS Fiddle:很抱歉,我不能发表评论,但到目前为止我发现的唯一错误是这一行
$(“#应用程序”).addClass('active')代码>
应该是
$('#applicationhead').addClass('active')代码>
您应该将活动类添加到#applicationhead,而不是整个div。
(我不知道php是否会妨碍removeclass,但这里有一个没有php部分的小把戏)
在第10行的下方有一个格式错误的结束标记
(计数不包括空行)。看起来是这样的:您在许多情况下都在使用.category\u head
。是否确实要从所有类别标题中删除该类?等等。类别、制造商和应用程序?当我尝试运行此代码时,添加/删除活动类效果良好。当我单击类别“更多”时,它会添加类并从导航中删除。当类单击同一项时,是否希望toggle()
类?谢谢你的洞察力。我将检查这些修复…这实际上是我注意到并尝试的第一件事…仍然没有响应。