2010-05-18 12 views
8

Tengo un div con overflow:auto y una barra de desplazamiento, y me gustaría poder arrastrar los contenidos para desplazarse. No necesito poder seleccionar texto. ¿Hay una forma fácil de hacer esto? Un plugin de jQuery sería bueno, de lo contrario, el viejo JavaScript simple estaría bien.¿Hay una manera fácil de hacer clic y arrastrar el desplazamiento en marcos de texto?

Parece que no me he aclarado lo suficiente. Hay un div con una altura fija que quiero desplazar. En lugar de levantar la barra de desplazamiento, quiero hacer clic y arrastrar dentro del texto en la dirección opuesta. Como en un iPhone. Como en Photoshop cuando mantienes presionado el espacio y arrastras.

------------------- 
|    | | 
|    | | 
|    ||| 
|    | | 
|   <----------- click here and drag to scroll. 
|    | | 
|    | | 
------------------- 
+2

+1 para los bonita representación –

Respuesta

11

Aquí es un buen implemenation de arrastre y desplazamiento divs

http://plugins.jquery.com/project/Dragscrollable

a continuación es mi enlace original que he publicado. Parece que alguien editó mi respuesta.

http://hitconsultants.com/dragscroll_scrollsync/scrollpane.html

+0

Gracias, ¡esto es EXACTAMENTE lo que estaba buscando! Voy a dejar el botín abierto por unos días más, pero esta es definitivamente la idea. He editado tu respuesta para agregar las páginas de plugins de jQuery para el plugin de dragscrollable utilizado ... ¡espero que no te importe! – Skilldrick

+0

Estos enlaces están muertos. –

+0

El enlace del complemento jquery no está muerto ... pero la demostración en vivo está muerta. –

0

¿Quiere decir que el contenido debe desplazarse cuando mueve la barra de desplazamiento?

Crea un nuevo div para el contenido que quieres que sea dragable, y ponlo en el div que estás desplazando. verifique el código proporcionado.

<div style="position:relative; overflow:hidden;"> 
    <div id="dragableContent" 
    style="float: left;display: none;background:none repeat scroll 0 0 white; border:1px solid #323C45; border-width:0px 1px 0px 1px;"></div> 
    <div> This is you content div...</div> 
</div> 

Luego, en la carga de la página, puede hacer que el div sea visible después de configurar su contenido HTML.

$(document).ready(function() { 
    stripColumnFromDiv('Your content Div ID'); 
    var scrollingDiv = $("#dragableContent"); 
    scrollingDiv.css({'position':'absolute','display':'block'}); 
}); 

donde stripColumnFromDiv función es establecer los datos de su elemento a la nueva vacío dragableContent.

Espero que esto sea lo que quiere y lo ayude.

gracias.

0

Hay plugin jQuery UI llama arrastrable a través de este se puede cambiar cualquier elemento en objeto arrastrable

Aquí está el enlace para la demostración http://jqueryui.com/demos/draggable/

Está tan simple como esto

<script type="text/javascript"> 
$(function() { 
    $("#draggable").draggable(); 
}); 
</script> 

También es posible hacerlo desplazable dentro de un div. Compruebe la página de demostración

+0

Gracias por esto. No veo cómo obtener la funcionalidad que quiero, es decir, arrastrar un div desplazable y desplazarme dentro de ese div. (Como mantener espacio en Photoshop). – Skilldrick

+0

Algo como esto? http://jsfiddle.net/6SnpF/ El rollo se mueve de manera extraña, pero podría arreglarse. – Adirael

+0

@Adirael Cerrar pero no banana. Siento que cualquier abordaje basado en esto sería un hack en hack sobre hack. Gracias sin embargo. – Skilldrick

Cuestiones relacionadas