Autor | Zpráva | ||
---|---|---|---|
Pavlínka Profil |
#1 · Zasláno: 2. 12. 2018, 06:00:08
Chci udělat na svém webu malinké okýnko s obsahem které si uživatel může chytit myší v určitém bodu a přesunout kam jen chce v okně prohlížeče.
samozřejmě nemyslím klasické otevírání okna ale jakési JS okénko chovající podobně jako ohno jakéhokoli programu. asi to hloupě popisuju ale nevím jak to lépe vysvětlit ... a stím mě tíží i to jak se ptát google aby jsem toto vůbec našla :D snad alespoň někdo ví a pochopí co hledám :D |
||
Ikki Profil |
#2 · Zasláno: 2. 12. 2018, 07:00:24
Neměla bys nějakou ukázku? Jediný co mi to připomíná v jednom bodě je chování marquee, ale jinak si asi moc nedokážu představit co vlastně chceš :D
|
||
Radek9 Profil |
#3 · Zasláno: 2. 12. 2018, 11:23:24
Pavlínka:
Hledej drag & drop. |
||
DarkMeni Profil |
#4 · Zasláno: 2. 12. 2018, 11:24:45
Třeba jQuery UI Dialog
Ale chce to načíst knihovny jQuery a jQuery UI. |
||
Keeehi Profil |
Živá ukázka
Je to velmi primitivní a při rychlejším pohybu myší to občas ten element někde zapomene ale možná že to pro tebe bude dostatečně dobré. Výhoda je, že to nepotřebuje žádnou knihovnu. |
||
Radek9 Profil |
#6 · Zasláno: 2. 12. 2018, 16:16:19
Keeehi:
To jde opravit tím, že ten mousemove event dáš na document místo na element . Taky je dobré v tom handleru volat preventDefault , aby se neoznačoval text.
Živá ukázka |
||
Keeehi Profil |
#7 · Zasláno: 2. 12. 2018, 18:10:39
Radek9:
To je taky pravda. Ještě se k tomu dá přidat podpora pro dotykové displeje a pro odscrollovanou stránku. Živá ukázka Na těch mobilních zařízeních by bylo ještě potřeba vypnout scrollování když se objekt přesouvá, ale do toho se mi už moc nechce. |
||
Pavlínka Profil |
Keeehi:
děkuji za každou radu :) teď se trápím pouze s tím, jak volat více oken pod stejnojmeným divem aniž bych musela duplikovat funkci pod jiným ID funkce funguje pouze na první div... Keeehi: „Ještě se k tomu dá přidat podpora pro dotykové displeje“ super úvaha to mi vůbec nedošlo... |
||
Keeehi Profil |
#9 · Zasláno: 2. 12. 2018, 21:04:00
Pavlínka:
Tak základem je, že elementy nebudeš identifikovat pomocí id, jelikož id by mělo být na stránce vždy unikátní. Vhodné je na to použít třeba třídu. Pak stačí jen pomocí té třídy elementy vybrat, v cyklu je projít a pro každý z nich zavolat tu funkci. Živá ukázka IDčka v příkladu používám jen kvůli počátečnímu nastavení rozdílných pozic. |
||
DarkMeni Profil |
#10 · Zasláno: 2. 12. 2018, 21:51:36
Taky jsem na to kouknul a nefungovalo to ve Firefoxu, prej že nezná TouchEvent.
Stačí asi přidat kontrolu, jestli to zná TouchEvent, a když jo, tak až pak se ptát jesti je e instance od TouchEventu. // oba if(e instanceof TouchEvent) // nahradit za if(typeof TouchEvent != 'undefined' && e instanceof TouchEvent) Jo a e.preventDefault() v mousemove s neoznačováním textu moc nepomáhá, aspoň 1 písmenko se mi vždy označit podařilo :P V onmousedown to už pomohlo. Kdyžtak tady je upraveý kód s podporou pro firefox a přehození e.preventDefaultu do mousedown: Tady |
||
Pavlínka Profil |
#11 · Zasláno: 2. 12. 2018, 23:17:39
Děkuji moc za rady :)
|
||
Časová prodleva: 5 let
|
0