Foros del Web » Programando para Internet » Jquery »

Jquery tab pestana nueva

Estas en el tema de Jquery tab pestana nueva en el foro de Jquery en Foros del Web. Alguien sabe como pasar al frente la nueva pestaña creada en un tab de jquery?? Gracias...
  #1 (permalink)  
Antiguo 28/02/2013, 19:22
 
Fecha de Ingreso: abril-2008
Mensajes: 316
Antigüedad: 16 años, 8 meses
Puntos: 3
Jquery tab pestana nueva

Alguien sabe como pasar al frente la nueva pestaña creada en un tab de jquery??


Gracias
  #2 (permalink)  
Antiguo 28/02/2013, 19:57
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años, 8 meses
Puntos: 155
Respuesta: Jquery tab pestana nueva

...puedes usar z-index de CSS, http://es.html.net/tutorials/css/lesson15.php, e indicarlo dinámicamente con Javasccript o jQuery...
  #3 (permalink)  
Antiguo 01/03/2013, 08:42
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 10 meses
Puntos: 57
Respuesta: Jquery tab pestana nueva

Hola rogeliomx, que tal

Pues usar tabs de JQuery UI
  #4 (permalink)  
Antiguo 01/03/2013, 09:52
 
Fecha de Ingreso: abril-2008
Mensajes: 316
Antigüedad: 16 años, 8 meses
Puntos: 3
Respuesta: Jquery tab pestana nueva

Este pues si estoy usando tabs de jquery, y estoy agregando dinamicamente una nueva pestaña, pero solo se agrega, para ver el contenido debo darle click a la pestaña y yo quuiero que al crearla el foco pase a esta, o que se muestre su contenido al momento de crearla.

Última edición por rogeliomx; 01/03/2013 a las 10:07
  #5 (permalink)  
Antiguo 01/03/2013, 10:08
 
Fecha de Ingreso: abril-2008
Mensajes: 316
Antigüedad: 16 años, 8 meses
Puntos: 3
Respuesta: Jquery tab pestana nueva

No me es posible cambiar el z-index por que mis pestañas a pesar de tener el identificador id, est se agrega solo, y como no solo cargo una pestaña, no se cual es el identificador en turno.
  #6 (permalink)  
Antiguo 01/03/2013, 10:33
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 10 meses
Puntos: 36
Respuesta: Jquery tab pestana nueva

Los creas dinamicamento con Javascript o con otro lenguaje de scripting ??
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #7 (permalink)  
Antiguo 01/03/2013, 13:29
 
Fecha de Ingreso: abril-2008
Mensajes: 316
Antigüedad: 16 años, 8 meses
Puntos: 3
Respuesta: Jquery tab pestana nueva

Los creo con javascript

tab.tabs('add','rutaparacargarviajax','nombretab') ;
  #8 (permalink)  
Antiguo 01/03/2013, 16:45
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 10 meses
Puntos: 36
Respuesta: Jquery tab pestana nueva

Mira hice unas pruebas e implemente los tabs de jQuery UI, lo que hace el codigo que te voy a compartir es:
  1. Tiene una funcion que se encarga de agregar un nuevo tab
  2. El nombre del tab puede ser capturado, claro que esto es un ejemplo y puedes adaptarlo a tus necesidades
  3. Esta hecha con jQuery por que si uso jQuery UI hago referencias a el.
  4. Todo el contenido es el mismo pero tu tienes que adaptarlo a tus necesidades
  5. Puedes hacer y deshacer el codigo y si tienes una duda de el con gusto te la respondo.
  6. Te paso todo el codigo para que lo pegues y lo pruebes

Este es el javascript con highlight para que se entienda mejor
Código Javascript:
Ver original
  1. $(function() {
  2.    
  3.     $( "#tabs" ).tabs();   
  4.    
  5.     $("#addTab").on("click", function() {
  6.         var index = addTab($("#nombreTab").val());
  7.         $( "#tabs" ).tabs("refresh");
  8.     });
  9.        
  10.    
  11.    
  12.     function addTab(nombreTab){
  13.         var tabNumber;
  14.         var newLi;
  15.         var newTab;
  16.         var ul = $( "#tabs ul");
  17.         var tabs = $( "#tabs");
  18.         // obtenemos el numero de tabs existentes
  19.         tabNumber = $( "#tabs ul").children().size();
  20.         // incrementamos el contador de tabs
  21.         tabNumber++;
  22.         newLi = '<li class="ui-state-default ui-corner-top" role="tab" tabindex="-1" aria-controls="tabs-'+tabNumber+'" aria-labelledby="ui-id-'+tabNumber+'" aria-selected="false"><a href="#tabs-'+tabNumber+'" class="ui-tabs-anchor" role="presentation" tabindex="-1" id="ui-id-'+tabNumber+'">'+nombreTab+'</a></li>';
  23.         // agregamos al menu
  24.         ul.append(newLi);
  25.        
  26.         newTab = '<div id="tabs-'+tabNumber+'" aria-labelledby="ui-id-'+tabNumber+'" class="ui-tabs-panel ui-widget-content ui-corner-bottom" role="tabpanel" style="display: block;" aria-expanded="true" aria-hidden="false">'
  27.         +'<p>Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.</p>'
  28.         +'<p>Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.</p></div>';
  29.         // agregamos el contenido
  30.         tabs.append(newTab);
  31.     }
  32.   });

Código HTML:
Ver original
  1. <!doctype html>
  2. <html lang="en">
  3.   <meta charset="utf-8" />
  4.   <title>jQuery UI Tabs - Default functionality</title>
  5.   <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css" />
  6.   <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  7.   <script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script>
  8.   <script>
  9.   $(function() {
  10.    
  11.     $( "#tabs" ).tabs();   
  12.    
  13.     $("#addTab").on("click", function() {
  14.         var index = addTab($("#nombreTab").val());
  15.         $( "#tabs" ).tabs("refresh");
  16.     });
  17.        
  18.    
  19.    
  20.     function addTab(nombreTab){
  21.         var tabNumber;
  22.         var newLi;
  23.         var newTab;
  24.         var ul = $( "#tabs ul");
  25.         var tabs = $( "#tabs");
  26.         // obtenemos el numero de tabs existentes
  27.         tabNumber = $( "#tabs ul").children().size();
  28.         // incrementamos el contador de tabs
  29.         tabNumber++;
  30.         newLi = '<li class="ui-state-default ui-corner-top" role="tab" tabindex="-1" aria-controls="tabs-'+tabNumber+'" aria-labelledby="ui-id-'+tabNumber+'" aria-selected="false"><a href="#tabs-'+tabNumber+'" class="ui-tabs-anchor" role="presentation" tabindex="-1" id="ui-id-'+tabNumber+'">'+nombreTab+'</a></li>';
  31.         // agregamos al menu
  32.         ul.append(newLi);
  33.        
  34.         newTab = '<div id="tabs-'+tabNumber+'" aria-labelledby="ui-id-'+tabNumber+'" class="ui-tabs-panel ui-widget-content ui-corner-bottom" role="tabpanel" style="display: block;" aria-expanded="true" aria-hidden="false">'
  35.         +'<p>Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.</p>'
  36.         +'<p>Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.</p></div>';
  37.         // agregamos el contenido
  38.         tabs.append(newTab);
  39.     }
  40.   });
  41.   </script>
  42. </head>
  43.    
  44.  <button id="addTab">Agregar Tab</button>
  45.  <br>
  46.  <label>Nombre del nuevo Tab:</label>
  47.  <input id="nombreTab" type="text" />
  48. <div id="tabs">
  49.   <ul>
  50.     <li><a href="#tabs-1">Nunc tincidunt</a></li>
  51.     <li><a href="#tabs-2">Proin dolor</a></li>
  52.     <li><a href="#tabs-3">Aenean lacinia</a></li>
  53.   </ul>
  54.   <div id="tabs-1">
  55.     <p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p>
  56.   </div>
  57.   <div id="tabs-2">
  58.     <p>Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed fringilla, massa eget luctus malesuada, metus eros molestie lectus, ut tempus eros massa ut dolor. Aenean aliquet fringilla sem. Suspendisse sed ligula in ligula suscipit aliquam. Praesent in eros vestibulum mi adipiscing adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis. Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.</p>
  59.   </div>
  60.   <div id="tabs-3">
  61.     <p>Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.</p>
  62.     <p>Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.</p>
  63.   </div>
  64. </div>
  65.  
  66.  
  67. </body>
  68. </html>

De acuerdo a lo que es tu idea implemente esto, y tal vez es un poco mejor de lo que estabas haciendo, sin embargo es algo completamente configurable y lo puedes usar a tu libertad,

Saludos
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #9 (permalink)  
Antiguo 01/03/2013, 17:56
 
Fecha de Ingreso: abril-2008
Mensajes: 316
Antigüedad: 16 años, 8 meses
Puntos: 3
Respuesta: Jquery tab pestana nueva

Orale esta padre y como puedo hacer que cuando cree un nuevo tab se pase para el frente.
  #10 (permalink)  
Antiguo 01/03/2013, 18:10
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 10 meses
Puntos: 36
Respuesta: Jquery tab pestana nueva

como que para el frente ? te refieres a que se seleccion el tab que creaste y se cambie a ese??
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #11 (permalink)  
Antiguo 01/03/2013, 18:32
 
Fecha de Ingreso: abril-2008
Mensajes: 316
Antigüedad: 16 años, 8 meses
Puntos: 3
Respuesta: Jquery tab pestana nueva

Si exactamente eso.
  #12 (permalink)  
Antiguo 02/03/2013, 22:36
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 10 meses
Puntos: 36
Respuesta: Jquery tab pestana nueva

Ok mira con este codigo hace lo que me dices, al crear una pestaña nueva esta se selecciona,

Código Javascript:
Ver original
  1. $(function() {
  2.    
  3.     $( "#tabs" ).tabs();   
  4.    
  5.     $("#addTab").on("click", function() {
  6.         var index = addTab($("#nombreTab").val());
  7.         $( "#tabs" ).tabs("refresh");
  8.         $( "#tabs ul li a[href='#tabs-"+index+"']").click();
  9.     });
  10.    
  11.     function addTab(nombreTab){
  12.         var tabNumber;
  13.         var newLi;
  14.         var newTab;
  15.         var ul = $( "#tabs ul");
  16.         var tabs = $( "#tabs");
  17.         // obtenemos el numero de tabs existentes
  18.         tabNumber = $( "#tabs ul").children().size();
  19.         // incrementamos el contador de tabs
  20.         tabNumber++;
  21.         newLi = '<li class="ui-state-default ui-corner-top" role="tab" tabindex="-1" aria-controls="tabs-'+tabNumber+'" aria-labelledby="ui-id-'+tabNumber+'" aria-selected="false"><a href="#tabs-'+tabNumber+'" class="ui-tabs-anchor" role="presentation" tabindex="-1" id="ui-id-'+tabNumber+'">'+nombreTab+'</a></li>';
  22.         // agregamos al menu
  23.         ul.append(newLi);
  24.        
  25.         newTab = '<div id="tabs-'+tabNumber+'" aria-labelledby="ui-id-'+tabNumber+'" class="ui-tabs-panel ui-widget-content ui-corner-bottom" role="tabpanel" style="display: block;" aria-expanded="true" aria-hidden="false">'
  26.         +'<p>Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.</p>'
  27.         +'<p>Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.</p></div>';
  28.         // agregamos el contenido
  29.         tabs.append(newTab);
  30.        
  31.         return tabNumber;
  32.     }
  33.   });

Puntos claves a recalcar:

1 La función regresa el numero de de tab creado, que posteriormente usamos para selecionarlo con:

Código Javascript:
Ver original
  1. $( "#tabs ul li a[href='#tabs-"+index+"']").click();
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.

Etiquetas: javascript, tab
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 19:02.