28. september 2003 - 23:58Der er
22 kommentarer og 1 løsning
Simplere end drag and drop
Jeg har et javascript hvor man kan klikke på et billede og så længe man holder musetasten nede kan man dragge billedet og når man så slippermusetasten droppes billedet.
Men det synes jeg ikke er brugervenligt nok.
Så er der nogen der kan henvise til et javascript der kan gøre følgede i stedet:
når man klikker på billedet "klistre det til curseren" (også hvis man slipper musetasten) og droppes først når man igen klikker på musen.
men det skulle være rimeligt nemt at lave i din egen kode. Jeg går ud fra at du har en variabel i koden der enten er true (når man dragger) og false (når billedet er droppet). Så kan du jo bare sige (når man klikker på billedet): hvis variabel er false så kør dragfunktionen og hvis den er true så gør den false. Prøv at kigge på mit kodeeksempel hvis du ikke helt forstår hvad jeg mener. Eller spørg :)
Det ser rigtig godt ud! Men jeg skal lige have det til at virke sammen med det jeg selv har. Ved du om det f.eks. også kan komme til at virke i Mozilla ?
if (document.layers){ window.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE); window.onmousedown=down, window.onmousemove=move; } else { if (document.all){ document.onmousedown=down, document.onmousemove=move; } else { //HVAD SKAL DER STÅ HER ??? } }
Hvis man helt fjerner !doctype (ikke tilrådeligt) virker funktionen i: IE 6.0 Opera 7.11 Mozilla Firebird 0.6.1 Mozilla 1.4 Netscape 7.1 K-Meleon 0.7.1
Desværre er den kode jeg skal rette i noget mere kompliceret idet der både er flere billeder der skal kunne flyttes på og de skal kunne droppes i de rigtige "kasser".
Mit største problem er lige nu hvad jeg gør når jeg i Mozilla ikke kan få lov til at skrive event . Jeg troede bare jeg kunne erstatte event.srcElement med event.target, men det er tilsyneladende event den ikke forstår ...
if (document.all && event.srcElement.parentElement) { if (event.srcElement.parentElement.id?true:false) { ... end if else if (event.target.parentElement.id?true:false) { ... end if end if
og mit problem er at i else-delen vil det ikke virke i Mozilla da den ikke forstår event ...
Det er vist lidt for kompliceret at forklare hele virkemåden af scriptet her
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.