Tengo un div que contiene un par de jquery draggables, sin embargo, si en cualquier momento me quite uno de estos draggables de la página, a continuación, este se puede mover el resto de ellos se posicionan con relativa.

Aquí es un violín mostrando esta:
http://jsfiddle.net/VolatileStorm/aNk6e/

Mi solución propuesta es que la posibilidad de arrastrar debe utilizar absoluta frente a la posición relativa, sin embargo no puedo encontrar una manera para hacer esto. Es allí una manera de hacer esto, y si no, ¿alguien puede pensar de una manera alrededor de ella? (Para la elegancia amor, no voy a aceptar que «no borrar el otro draggable»).

4 Comentarios

  1. 17

    ¿Por qué no position:absolute trabajo para usted?

    Ya que los elementos con posición absoluta no son parte del flujo de documentos, cada uno de sus tres <div>s se colocan en 0,0 de que la contienen (situado) elemento. Por lo tanto, le toca a usted para trabajo fuera de la posición de partida de su draggables.

    • No, no. Echa un vistazo a mi demo el uso de position:absolute — nunca ha cambiado a relative.
    • Sí. Es por eso que he eliminado el comentario. Es en mi «código de la producción», por así decirlo. Pero no estaba en la suya. Sin embargo. Si se establece la posición absoluta, después de hacer lo que pueden arrastrarse, a continuación, permanece absoluta. Supongo que debería haber sólo empujó con más fuerza, jaja. Gracias!
    • Para aclarar la situación, si se establece la posición de la posibilidad de arrastrar los elementos a través de css/en línea para absolute, a continuación, la posibilidad de arrastrar plugin no establece para usted en línea a relative, y puede determinar (o no) a la posición de partida útil para los que se genera dinámicamente elementos). Sin embargo, no objetivo .ui-draggable a través de css, como este selector parece ser añadido después de que se decida si se debe aplicar el posicionamiento.
    • Otra cosa a añadir: Esto hace que los padres-contenedor de detener el desplazamiento, cuando está en position:static. Para volver a activar el desplazamiento, simplemente póngalo a position:absolute
    • tenga en cuenta que si está utilizando el parámetro iframeFix: true, entonces jquery UI va a convertir en posición relativa
    • Esta aceptado solución aquí stackoverflow.com/questions/9643075/… resuelve un problema.

  2. 15
    1. Agregar position:absolute a sus elementos.
    2. Adjuntar a la DOM antes de llamar .draggable.
    • que antes de salvó mi día. Gracias.
    • no me funciona
  3. 9

    Usted puede establecer la posición absoluta mediante el css jQuery función cuando la configuración de un elemento draggable.

    $(this).draggable().css("position", "absolute");
    • después de ajustar la posición absoluta no puede ser arrastrado más
  4. 0

    Quizás no la mejor de las ideas…, pero podría posición de todos los divs el uso de la posición relativa; y, a continuación, incluir una llamada a una función en su o $(«documento»).ready(), si estás usando jQuery, que recorre cada uno de los divs para traducir sus posiciones relativas en absoluto y ponerlos como su izquierda, arriba antes de cambiar a position:absolute. El único problema aquí es que usted quiere cada uno de los divs posición absoluta antes de la actualización de sus estilos a fin de no alterar el diseño a través de la iteración.

Dejar respuesta

Please enter your comment!
Please enter your name here