7

Así que tengo un div desplegable fijo en la parte inferior derecha de mi pantalla. Tengo una lista de juegos de arrastrar que se pueden arrastrar a la papelera (el elemento fijo que se puede quitar) pero no quiero que aparezca la barra de desplazamiento horizontal al arrastrarlos cerca de la papelera. No quiero que las arrastrables puedan desplazarse horizontalmente. Hay otros droppables más abajo en la página en los que se pueden soltar, por lo que deben desplazarse verticalmente para llegar a ellos.Jquery-ui desplazable en desplazamiento vertical solo

Aquí hay un jsfiddle del problema.

Gracias

Respuesta

9

Puede utilizar la opción containment (doc) sobre los elementos que pueden arrastrarse. De esta manera puede limitar su movimiento en el elemento del cuerpo:

$('.draggable').draggable({ 
    ... 
    containment: 'body', 
    ... 
}); 

DEMO

+0

Pero no puedo arrastrarlo a los marcadores desplegables. –

+0

Claro que puedes (o no entiendo exactamente el problema). El cuerpo aún se desplazará por su ventana gráfica, pero no se extenderá si el cursor va demasiado hacia abajo o hacia la derecha. –

+0

El problema ahora es que el cuerpo no llega hasta el fondo. –

28

Con el fin de permitir únicamente el arrastre vertical, se debe establecer la propiedad "eje" de la que pueden arrastrarse de esta manera:

$("selector").draggable({ 
    axis: "y" 
}); 

Y si ya tiene un objeto arrastrable inicializado, debe establecer de esta manera:

$("selector").draggable("option", "axis", "y"); 
+0

Esto no es lo que quise decir. Solo quería que se "desplazara" verticalmente y se puede mover horizontalmente. La pregunta ya ha sido respondida, pero gracias por la respuesta. –

+3

esto era justo lo que estaba buscando – prototype

+0

He estado buscando esto también. Gracias – softnayr

Cuestiones relacionadas