Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [jquery] drag drop overflow

    Salve a tutti,
    mi sto cimentando nella costruzione di una interfaccia drag & drop.
    Tutto sembra funzionare finchè il target che accetta il drop è "normalmente" visibile nella pagina.
    Mi riesce molto difficile spiegarlo a parole perciò ho preferito realizzare una demo.

    http://lordcoste.altervista.org/drag/

    finchè eseguite il drop sui primi 5 target (visibili) tutto funziona, se iniziate a spostarvi orizzontalmente con la scrollbar vedrete che le coordinate si spostano sempre più verso destra (suppongo venga utilizzata la x che aveva il target PRIMA di aver usato la scrollbar).

    Sarei infinitamente grato a chiunque mi aiutasse a risolvere.

    P.S.
    per gestire drag&drop ho usato questi due plugin (click per il sorgente):

    jquery.event.drag-1.5.js
    jquery.event.drop-1.2.js

    Il resto del codice è tutti visibile nella pagina demo che ho realizzato.

    Immagino ci sia da cambiare qualcosa nel codice del drop in modo da far si che vengano riaggiornate le posizioni dei target quando il div viene scrollato orizzontalmente...
    In particolare nel codice del plugin drop vedo:
    codice:
    $targets: $([]), data: [], // storage of drop targets and locations
    setup: function(){
    		drop.$targets = drop.$targets.add( this );
    		drop.data[ drop.data.length ] = drop.locate( this );
    },
    Vi ringrazio

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, probabilmente c'e' qualche calcolo con le coordinate/dimensioni css?? per capire di quanti ci si sta spostando..
    Non hai provato draggable/droppable o sortable(che io ho usato) per fare un drag & drop? sempre di jquery

  3. #3
    Originariamente inviato da m4rko80
    Ciao, probabilmente c'e' qualche calcolo con le coordinate/dimensioni css?? per capire di quanti ci si sta spostando..
    Non hai provato draggable/droppable o sortable(che io ho usato) per fare un drag & drop? sempre di jquery
    Inizialmente avevo provato a farlo con jquery ui, ma poi ho deciso di cambiare per due motivi.

    Il primo, trascurabile, il peso in kb di quella libreria.
    Il secondo più importante, i dati draggabili cambiano, ovvero vengono caricati dinamicamente con ajax, perciò non potevo fare il bind solo al caricamento della pagina, ma ho dovuto usare livequery, e purtroppo non sono riuscito a combinare il drag&drop di jquery ui con livequery.

  4. #4
    Bastava leggere la documentazione ufficiale del plugin :master:
    L'autore ha messo a disposizione un metodo $.dropManage che basta richiamare ogni volta che avviene l'evento dragstart così che vengano aggiornate tutte le posizioni dei target

    banalmente come prima istruzione di dragstart:
    codice:
    $.dropManage();

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.