Foros del Web » Programando para Internet » Javascript »

quitar funcion duplicada

Estas en el tema de quitar funcion duplicada en el foro de Javascript en Foros del Web. Hola buenas, no soy un experto en javascript, pero poco a poco voy haciendo cosillas. Queria solicitar si me pueden ayudar a reducir un codigo ...
  #1 (permalink)  
Antiguo 31/12/2015, 05:44
 
Fecha de Ingreso: marzo-2008
Mensajes: 43
Antigüedad: 16 años, 7 meses
Puntos: 0
quitar funcion duplicada

Hola buenas, no soy un experto en javascript, pero poco a poco voy haciendo cosillas.
Queria solicitar si me pueden ayudar a reducir un codigo pues tengo dos dos funciones y las estoy repitiendo y entonces se me quedan en 4.

Para poner un poco en lugar, lo que hace este codigo es que hay dos paneles, uno a la izquierda y otro a la derecha. y en media un boton con una fecha que indica hacia la derecha y lo mimos con otro boton pero a la izquierdqa.
al pinchar en el boton hacia la derecha se me carga la funcion mostrarMensaje1 y en de la izquierda la funcion mostrarMensaje2.
aqui muestro el js.
Muchas gracias de antemano.
Código Javascript:
Ver original
  1. var ul0;
  2.    var ul0_li;
  3.    var ul0_a;
  4.    var ul1;
  5.    var ul1_b;
  6.    var ul1_a;
  7.    var selected;
  8.    var seleccion="tray-row selecctes selectodos";
  9.    var enlaceselect;
  10.    var enlaceselect2;
  11.    var ul0_aa;
  12.    var ul1_bb;
  13.    var claseprimerosli;
  14.    var clonar;
  15.    var todasul= document.getElementsByTagName('ul');
  16.    
  17.    function seleccionar2(){
  18.   /*recorremos los enlaces del primer ul buscando el seleccionado
  19.   y obtenemos la clase del padre li */
  20.   todasul= document.getElementsByTagName('ul');
  21.   ul0 = todasul[1];
  22.   ul0_a=ul0.getElementsByTagName('a');
  23.  
  24.  
  25.    for(  var is=0;  is < ul0_a.length; is++) {
  26.  
  27.        if (ul0_a[is].className==="tray-row selecctes") {
  28.          ul0_a[is].className=seleccion;
  29.          selected=ul0_a[is].className;
  30.    
  31.            enlaceselect=ul0_a[is];
  32.  
  33.          // variable guardada del enlace seleccionado
  34.            // padre li del enlace seleccionado
  35.          ul0_li = ul0_a[is].parentNode.parentNode.className;
  36.          ul0_liobject = ul0_a[is].parentNode.parentNode;
  37.          }
  38.  
  39.        }
  40.  
  41.     }
  42.  
  43. function mostrarMensaje1(){
  44.  
  45.   ul0_a=todasul[0].getElementsByTagName('li');
  46.   ul1_b=todasul[1].getElementsByTagName('li');
  47.  
  48.   ul0_aa=todasul[0].getElementsByTagName('a');
  49.   ul1_bb=todasul[1].getElementsByTagName('a');
  50.  
  51.  
  52. for(var as=0;as < ul0_aa.length;as++)
  53.   {
  54.       if (selected==="tray-row selecctes selectodos")
  55.          {
  56.           //cogemos el li
  57.          claseprimerosli=enlaceselect.parentNode.parentNode.className;
  58.        
  59.  
  60.          //copiamos el li
  61.          enlaceselect.parentNode.parentNode.cloneNode(true);
  62.          //copia del enlaze seleccionado
  63.          var clone_a=enlaceselect.cloneNode(true);
  64.          var clonali=enlaceselect.parentNode.parentNode.cloneNode(false);
  65.        
  66.          }
  67.       for(var i=0;i < ul1_bb.length;i++)
  68.          {  
  69.             var clasesegundosli=ul1_bb[i].parentNode.parentNode.className;
  70.             var elesegundosli=ul1_bb[i].parentNode.parentNode;
  71.              var enlaceselect2= ul1_bb[i];
  72.  
  73.              if (clasesegundosli===claseprimerosli)
  74.              {
  75.                 elesegundosli.firstChild.nextSibling.nextSibling.nextSibling.appendChild(enlaceselect);
  76.                 enlaceselect.className="tray-row selecctes";
  77.            
  78.                
  79.                 break;
  80.              }
  81.            
  82.            
  83.  
  84.              
  85.  
  86.            
  87.           }
  88.            if (clasesegundosli!==claseprimerosli)
  89.               {
  90.                 //clonacion del enlace seleccionado
  91.                         clone_a;
  92.                          enlaceselect.className="tray-row selecctes";
  93.                         //clonacion del li de la seleccion
  94.                         clonali;
  95.                        
  96.                  
  97.                         var newNode= enlaceselect.parentNode.parentNode;
  98.                        var h5=newNode.getElementsByTagName("h5");
  99.                      
  100.                         var clonah5=h5[0].cloneNode(true);
  101.  
  102.  
  103.  
  104.                         var creadiv=document.createElement("div");
  105.                         var clonediv=clonali.appendChild(creadiv);
  106.                        
  107.                         var insertedElement = clonali.insertBefore(clonah5, clonediv);
  108.                         clonediv.appendChild(clone_a);
  109.  
  110.                         clonali.appendChild(clonediv);
  111.  
  112.                         var padrediv=enlaceselect.parentNode;
  113.                         padrediv.removeChild(enlaceselect);
  114.  
  115.                         elesegundosli.parentNode.appendChild(clonali);
  116.                          clone_a.className="tray-row selecctes";
  117.                         break;
  118.  
  119.               }
  120.         break;
  121.   }
  122.        //finde del for
  123.  
  124.  
  125. //finde la funcion
  126. }
  127.  
  128.  
  129. function mostrarMensaje2(){
  130.  
  131.   ul0_a=todasul[0].getElementsByTagName('li');
  132.   ul1_b=todasul[1].getElementsByTagName('li');
  133.  
  134.   ul0_aa=todasul[0].getElementsByTagName('a');
  135.   ul1_bb=todasul[1].getElementsByTagName('a');
  136.  
  137.  
  138. for(var as=0;as < ul1_bb.length;as++)
  139.   {
  140.       if (selected==="tray-row selecctes selectodos")
  141.          {
  142.           //cogemos el li
  143.          claseprimerosli=enlaceselect.parentNode.parentNode.className;
  144.        
  145.  
  146.          //copiamos el li
  147.          enlaceselect.parentNode.parentNode.cloneNode(true);
  148.          //copia del enlaze seleccionado
  149.          var clone_a=enlaceselect.cloneNode(true);
  150.          var clonali=enlaceselect.parentNode.parentNode.cloneNode(false);
  151.        
  152.          }
  153.       for(var i=0;i < ul0_aa.length;i++)
  154.          {  
  155.             var clasesegundosli=ul0_aa[i].parentNode.parentNode.className;
  156.             var elesegundosli=ul0_aa[i].parentNode.parentNode;
  157.              var enlaceselect2= ul0_aa[i];
  158.  
  159.              if (clasesegundosli===claseprimerosli)
  160.              {
  161.                 elesegundosli.firstChild.nextSibling.nextSibling.nextSibling.appendChild(enlaceselect);
  162.                 enlaceselect.className="tray-row selecctes";
  163.            
  164.                
  165.                 break;
  166.              }
  167.            
  168.            
  169.  
  170.              
  171.  
  172.            
  173.           }
  174.            if (clasesegundosli!==claseprimerosli)
  175.               {
  176.                 //clonacion del enlace seleccionado
  177.                         clone_a;
  178.                          enlaceselect.className="tray-row selecctes";
  179.                         //clonacion del li de la seleccion
  180.                         clonali;
  181.                        
  182.                  
  183.                         var newNode= enlaceselect.parentNode.parentNode;
  184.                        var h5=newNode.getElementsByTagName("h5");
  185.                      
  186.                         var clonah5=h5[0].cloneNode(true);
  187.  
  188.  
  189.  
  190.                         var creadiv=document.createElement("div");
  191.                         var clonediv=clonali.appendChild(creadiv);
  192.                        
  193.                         var insertedElement = clonali.insertBefore(clonah5, clonediv);
  194.                         clonediv.appendChild(clone_a);
  195.  
  196.                         clonali.appendChild(clonediv);
  197.  
  198.                         var padrediv=enlaceselect.parentNode;
  199.                         padrediv.removeChild(enlaceselect);
  200.  
  201.                         elesegundosli.parentNode.appendChild(clonali);
  202.                          clone_a.className="tray-row selecctes";
  203.                         break;
  204.  
  205.               }
  206.         break;
  207.   }
  208.        //finde del for
  209.  
  210.  
  211. //finde la funcion
  212. }

Etiquetas: duplicada, funcion, js, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:07.