2013-09-27 3 views
-2

У меня есть три вкладки, и я хочу перемещаться, когда я нажимаю на каждую из них. Код, который я написал, работает отлично, но я считаю, что это плохое кодирование, есть способ улучшить это только для целей обучения. Благодаря!!!!Улучшение кода для учебных целей

jQuery(".nuestra_actualidad li:eq(0)").click(function() { 
      jQuery("#tabs-actualidad").css("display","block"); 
      jQuery("#tabs-articulos").css("display","none"); 
      jQuery("#tabs-noticias").css("display","none"); 
     }); 
jQuery(".nuestra_actualidad li:eq(1)").click(function() { 
      jQuery("#tabs-actualidad").css("display","none"); 
      jQuery("#tabs-articulos").css("display","block"); 
      jQuery("#tabs-noticias").css("display","none"); 
     }); 

jQuery(".nuestra_actualidad li:eq(2)").click(function() { 
      jQuery("#tabs-actualidad").css("display","none"); 
      jQuery("#tabs-articulos").css("display","none"); 
      jQuery("#tabs-noticias").css("display","block"); 
     }); 
+9

http://codereview.stackexchange.com/ – valverij

+0

цикла, используя каждый funtction –

+0

может быть, вы должны дать класс вкладки, как 1, 2, 3 и создать функцию шо w по классу и скрыть остальные –

ответ

2

Замена JQuery с $, если это возможно (если он не конфликтует с другой библиотекой), а затем она может быть сведена к одной функции, используя индекс щелкнутого элемента и вызов функции переключения:

$(".nuestra_actualidad li").click(function() { 
    var index = $(this).index(); 
    $("#tabs-actualidad").toggle(index === 0); 
    $("#tabs-articulos").toggle(index === 1); 
    $("#tabs-noticias").toggle(index === 2); 
}); 

примера - http://jsfiddle.net/gSKeL/

Смежные вопросы