请参阅下面我设计的网站(来自模板):
http://noorjamali.soscharge.com
我的问题是点击每个菜单后的菜单颜色
测试点击关于我的菜单,你会看到HOME菜单仍然是白色的,你应该用鼠标悬停它以获得结果并将其颜色变回灰色。
请不要测试其他菜单,因为我没有为它们添加jquery代码
我的菜单代码如下:
<div class="nav">
<div class="nav_shadow">
<ul class="menu">
<li id="item-464" class="current active"><a href="Default.aspx">HOME </a></li>
<li id="item-465"><a href="javascript:AboutMeClick();">ABOUT ME </a></li>
<li id="item-444"><a href="javascript:QuickProfileClick();">QUICK PROFILE </a></li>
<li id="item-207"><a href="javascript:CertificationsClick();">CERTIFICATIONS </a></li>
<li id="item-467"><a href="javascript:ProjectsClick();">PROJECTS </a></li>
</ul>
</div>
</div>
和AboutMeClick()函数是这样的:
var $j = jQuery.noConflict();
function AboutMeClick() {
$j('#header .nav .nav_shadow .menu li').removeClass('current active');
$j('#header .nav .nav_shadow .menu li#item-465').addClass('current active');
if ($j('#header').css('top') != -522) {
$j('#lveis-wrapper_3').animate({
opacity: 0.0
}, 1200, function () {
// Animation complete.
$j('#header').animate({
top: -522
}, 1000, function () {
// Animation complete.
if ($j('#QuickProfile').css('dispay') != 'none') {
$j('#QuickProfile').slideUp(1500, function () { $j('#AboutMe').slideDown(1500); });
}
else if ($j('#Certifications').css('dispay') != 'none') {
$j('#Certifications').slideUp(1500, function () { $j('#AboutMe').slideDown(1500); });
}
else if ($j('#Projects').css('dispay') != 'none') {
$j('#Projects').slideUp(1500, function () { $j('#AboutMe').slideDown(1500); });
}
});
});
}
else {
if ($j('#QuickProfile').css('dispay') != 'none') {
$j('#QuickProfile').slideUp(1500, function () { $j('#AboutMe').slideDown(1500); });
}
else if ($j('#Certifications').css('dispay') != 'none') {
$j('#Certifications').slideUp(1500, function () { $j('#AboutMe').slideDown(1500); });
}
else if ($j('#Projects').css('dispay') != 'none') {
$j('#Projects').slideUp(1500, function () { $j('#AboutMe').slideDown(1500); });
}
}
}
和该菜单的相关css是这样的:
ul.menu > li.active > a:link, ul.menu > li.active > a:visited
{
color: rgb(255, 255, 255) !important;
}
ul.menu li a:hover, ul.menu li a:active, ul li a:focus
{
}
我对这个问题很困惑。
为什么这些jquery代码无法完成他们的工作:
$j('#header .nav .nav_shadow .menu li').removeClass('current active');
$j('#header .nav .nav_shadow .menu li#item-465').addClass('current active');
关于这个问题的冲突在哪里,我该如何解决?
另外我真的不知道将菜单颜色设置为灰色的地方在哪里!!
有没有办法使用jquery模拟悬停以获得结果?
感谢关注
修改
我知道问题是针对cufon-yui.js - &gt;但我怎么能解决这个问题?
答案 0 :(得分:1)
您使用的是cufon字体,请尝试调用
Cufon.refresh();
就像
一样$j('#header .nav .nav_shadow .menu li').removeClass('current active');
$j('#header .nav .nav_shadow .menu li#item-465').addClass('current active');
Cufon.refresh(); // Will refresh all cufon text
//Or
Cufon.refresh('#header .nav .nav_shadow .menu li'); // Will refresh only selected objects