0
var navObject = {
padLeft : '20px',
padLeftHover : '40px',
goRight : function(obj){
    if (!obj.parent('li').hasClass('active')) {
        obj.stop(true, true).animate({ 'padding-left' : this.padLeftHover }, 'fast');
    }
},
goLeft : function(obj){
    if (!obj.parent('li').hasClass('active')) {
            obj.stop(true, true).animate({ 'padding-left' : this.padLeft }, 'fast');
    }
},
makeActive : function(obj) {
    obj.siblings().each(function() {
        if($(this).hasClass('active')) {
            $(this).removeClass('active');
            navObject.goLeft($(this).children('a'));
        }
    });
    if (!obj.hasClass('active')) { 
        obj.addClass('active');
    }
}

}$(function() {
$('#navigation li a').hover(function() {
    navObject.goRight($(this));
    $(this).css({
    "color": "red", 
    "position": "relative",
    "font-size": "20px"});
}, function() {
    navObject.goLeft($(this));
    $(this).css({
    "color": "yellow",
    "font-size": "14px"});
});

$('#navigation li a').click(function() {
    navObject.makeActive($(this).parent('li'));
    navObject.goRight($(this));
    return false;
});});

嗨..我有这个 jquery 代码,我在这里做的是网站中的垂直导航栏

我的问题是,当我将导航菜单悬停时,它会执行我代码中的所有 CSS。但是当我单击菜单时,我希望文本保持红色。不回黄色..

感谢您花时间帮助我.. ^_^

4

1 回答 1

0

因此,您首先单击,它设置为红色。然后鼠标移出,这会将文本设置回黄色。我建议你使用类。单击时,添加一个类,悬停时(mousein/mouseout),添加和删除一个不同的类。这样,当您点击时,您点击的颜色会“粘住”。

于 2013-05-22T03:45:48.750 回答