esto es lo que tengo y ha sido struggeling por horas. si me alert(i)en la que cada bucle me da 1,2,3... pero si quiero usar como clave para una matriz multidimensional es como una cadena "i"

$(document).ready(function(){
    var positions=[];

    $( ".box" ).each(function(i) {
        //alert(i);
        var elPositions = {};
        elPositions.i = $(this).offset().top;
        positions.push(elPositions);
        //$elPosArray[i] = $(this).offset().top;
        //$(this).html('outer height--> ' + $(this).outerHeight(true));
    });
    console.log(positions);
    //console.log(el);
});

Hay Preguntas y respuestas para este tema, pero ninguno de ellos me ayudó a conseguir que esto funcione.

Me gustaría obtener una matriz o un obj buscando algo como:

   positions[0]['offset'] = '120';
   positions[0]['height'] = '300';
   positions[1]['offset'] = '420';
   positions[1]['height'] = '180';
   positions[2]['offset'] = '600';
   positions[2]['height'] = '100';
   positions[3]['offset'] = '700';
   positions[3]['height'] = '300';

Aquí es un violín con el html http://jsfiddle.net/Z9WrG/

InformationsquelleAutor caramba | 2014-01-23

1 Comentario

  1. 7

    Usted está casi allí!

    En su bucle, elPositions (aquí cambiado el nombre de data) es recreado de nuevo en cada iteración, y luego empujó en la matriz con un índice consecutivos. No hay necesidad de especificar i en el objeto de datos como i se asigna automáticamente cuando usted empuje en la matriz.

    Ver actualizado el violín: http://jsfiddle.net/Z9WrG/2/

    y código:

    $(document).ready(function(){
        var positions=[];
    
        $( ".box" ).each(function() {
            var $this = $(this);
            var data = {};
    
            data.offset = $this.offset().top;
            data.height = $this.height();
    
            positions.push(data);
            //Now, positions[iteration_index] = { offset: x, height: y }
        });
    
        console.log(positions);
        console.log(positions[0].height);
        console.log(positions[0].offset);
    });
    • Yo sé, yo sé, yo no debería decir gracias aquí. PERO GRACIAS ZOUGEN 🙂 impresionante, también para decirle lo que me estaba haciendo mal!
    • Eres bienvenido… no hay problema! 😀
    • No hay nada de malo con agradeciendo a alguien para ayudar en los comentarios 😉 La actitud general es que no hay que agregar gracias al final de su pregunta por lo que es tan claro y conciso como sea posible.
    • gracias por la información!
    • Harrison muchas Gracias.

Dejar respuesta

Please enter your comment!
Please enter your name here