2010-03-30 2 views
0

Я пытаюсь создать раскрывающийся список nav, используя jquery и css, и я чувствую, что я присяжный, но я все еще новичок в jquery и не могу полностью понять из лучшего/очиститель способ получить эту работу ... Любое понимание будет принята с благодарностью .. (используя tinypaste просто вызвать это долго)Real messy JQUERY

http://tinypaste.com/49e96

ответ

4

Вы можете сократить свой цветовой код вниз и сделать его бит будет легче поддерживать, это заменит весь код jQuery, который вы опубликовали:

var colors = { 
    "home":"#43b1cc", 
    "transport":"#f6e572", 
    "landdev":"#fda882", 
    "environment":"#b6e578" 
}; 

$('#nav > li').hover(function() { 
    var color = colors[$(this).attr("id")]; 
    if (color) $(this).parent().css('background-color', color); 
}, function(){ 
    $(this).parent().css('background-color', '#000'); 
}); 

$('#nav #transport ul').hover(function() { 
    $(this).prev('a').css('backgroundImage', 'url(images/nav_transport_on.png)'); 
}, function(){ 
    $(this).prev('a').css('backgroundImage', 'url(images/nav_transport_off.png)'); 
}); 

You can see a demo here, хотя, конечно, изображения не будут работать :)

+0

Я бы пошел дальше и будет использовать классы css и $(). ToggleClass – vittore