Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/07/2012, 10:28
Avatar de rogertm
rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Sumar los anchos de los <li> dentro de un <ul>

Hola gente, tengo un código mediante el cual sumo todos los anchos de los <li> de una lista, y el resultado es el ancho del <ul> que los contiene a todos, pero pasa que el último elemento no lo suma y hay que añadirlo a mano, pero el resultado final no es el que se espera, sino más ancho.

Código Javascript:
Ver original
  1. $(function(){
  2.     var $tabs = $('#idx-tabs ul');
  3.    
  4.     /* Scrollable ribbon */
  5.     var ribbon_width = 0;
  6.     var scroll = $("#idx-tabs .scroll");
  7.     var left_scroll = $("#idx-tabs .scroll.left");
  8.     var right_scroll = $("#idx-tabs .scroll.right");
  9.  
  10.     $("li", $tabs).map(function(i) { // calculate real ribbon width
  11.         margin = parseInt($(this).css("margin-right"));
  12.         margin += parseInt($(this).css("margin-left"));
  13.         margin += parseInt($(this).css("padding-right"));
  14.         margin += parseInt($(this).css("padding-left"));
  15.         ribbon_width = ribbon_width + $(this).width() + margin;
  16.     });
  17.     // aquí es donde hay que sumarle la última li
  18.     ribbon_width += ($("li:last", $tabs).width());
  19.    
  20.     var scrolling; // for intervals
  21.     var scroll_step = 25;
  22.     var scroll_speed = 100; // ms
  23.     $tabs.width(ribbon_width);
En fin, lo ideal es que sume todo sin necesidad de sumar el último aparte.

Cualquier ayuda será bienvenida. Gracias.
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose