2010-05-18 12 views
8

Ho un div con overflow:auto e una barra di scorrimento, e mi piacerebbe essere in grado di trascinare il contenuto per scorrere. Non ho bisogno di essere in grado di selezionare il testo. C'è un modo semplice per farlo? Un plugin jQuery sarebbe buono, altrimenti il ​​vecchio JavaScript sarebbe perfetto.Esiste un modo semplice per fare lo scorrimento di clic e trascinamento nelle cornici di testo?

Sembra che non mi sia reso abbastanza chiaro. C'è un div con un'altezza fissa che voglio scorrere. Invece di sollevare la barra di scorrimento, voglio fare clic e trascinare all'interno del testo nella direzione opposta. Come su un iPhone. Come in Photoshop quando tieni premuto spazio e trascina.

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

+1 per la bella rappresentazione –

risposta

11

Ecco un bel implemenation di trascinamento e scorrimento div

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

sotto è il mio link originale che ho postato. Sembra che qualcuno abbia modificato la mia risposta.

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

+0

Grazie - questo è ESATTAMENTE quello che cercavo! Ho intenzione di lasciare la taglia aperta per qualche altro giorno, ma questa è sicuramente l'idea. Ho modificato la tua risposta per aggiungere le pagine del plugin jQuery per il plugin dragscrollable utilizzato ... spero non ti dispiaccia! – Skilldrick

+0

Questi collegamenti sono morti. –

+0

Il link del plugin jQuery non è morto ... ma la dimostrazione dal vivo è morta. –

0

Intendi che il contenuto deve scorrere quando si sposta la barra di scorrimento?

Crea nuovo div per il contenuto che desideri trascinare e posizionalo sul div che stai scorrendo. controlla il codice indicato.

<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> 

quindi sul caricamento della pagina, è possibile rendere visibile il div dopo aver impostato il suo contenuto HTML.

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

dove stripColumnFromDiv funzione sta impostando i dati dal vostro elemento di nuova vuota dragableContent.

Spero che questo sia ciò che desideri e ti aiuti.

grazie.

0

C'è plug-in jQuery UI chiamato trascinabili attraverso questo è possibile modificare ogni elemento in oggetto trascinabile

ecco il link per la demo http://jqueryui.com/demos/draggable/

E 'semplice come questo

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

E 'anche possibile renderlo scorrevole all'interno di un div. Controllare la pagina di prova

+0

Grazie per questo. Non vedo come ottenere la funzionalità che voglio, ovvero trascinando un div scorrevole e scorrendo all'interno di quel div. (Come tenere spazio in Photoshop). – Skilldrick

+0

Qualcosa di simile? http://jsfiddle.net/6SnpF/ Lo scorrimento si sposta in modo strano, ma potrebbe essere risolto. – Adirael

+0

@Adirael Chiudi ma senza banana. Mi sembra che qualsiasi approccio basato su questo sarebbe incidere su hack su hack. Grazie comunque. – Skilldrick

Problemi correlati