-
1. Data: 2012-09-05 22:16:46
Temat: JS - jak wyłączyć reakcję na mysz?
Od: Marek <p...@s...com>
Witam,
Chciałbym aby po najechaniu myszy na pewien obszar kursor zmienił swój
wyglkąd na chmurkę z informacjami. Chmurka miałaby się poruszać zgodnie z
kursorem. Lewa krawędź chmurki ma być w miejscu kursora. Czyli
implementacja wyglądała by tak:
<div class="naszObszar" onMouseOver="pokazChmurke()"
onMouseOut="ukryjChmurke()" onMouseMove="przemiescChmurke()">...
Gdy przesuniemu kursor myszy w lewo - jest ok. Gdy w prawo przesuniemy, to
kursor najeżdża na chmurkę i tym samym ucieka z w/w obszaru powodując, że
chmurka zostanie ukryta (powstanie zdarzenie onmouseout). Co zrobić aby
chmurka dla myszki była przejrzysta? Tzn. aby najechanie na nią nie
generowało zdarzenia onmouseout w obiekcie pod nią (i jakiegokolwiek innego
zdarzenia związanego z myszką)?
-
2. Data: 2012-09-07 22:16:06
Temat: Re: JS - jak wyłączyć reakcję na mysz?
Od: Konrad Karpieszuk <k...@i...pl>
Dnia Wed, 05 Sep 2012 22:16:46 +0200, Marek napisał(a):
> Witam,
>
> Chciałbym aby po najechaniu myszy na pewien obszar kursor zmienił swój
> wyglkąd na chmurkę z informacjami. Chmurka miałaby się poruszać zgodnie
> z kursorem. Lewa krawędź chmurki ma być w miejscu kursora. Czyli
> implementacja wyglądała by tak:
>
> <div class="naszObszar" onMouseOver="pokazChmurke()"
> onMouseOut="ukryjChmurke()" onMouseMove="przemiescChmurke()">...
>
> Gdy przesuniemu kursor myszy w lewo - jest ok. Gdy w prawo przesuniemy,
> to kursor najeżdża na chmurkę i tym samym ucieka z w/w obszaru
> powodując, że chmurka zostanie ukryta (powstanie zdarzenie onmouseout).
> Co zrobić aby chmurka dla myszki była przejrzysta? Tzn. aby najechanie
> na nią nie generowało zdarzenia onmouseout w obiekcie pod nią (i
> jakiegokolwiek innego zdarzenia związanego z myszką)?
nie wiem jak to wyglada w calosci kodu ale przychodzi mi do glowy dodac
onMouseOver='pokazChmurke()' dla samej chmurki :) tak by po najechaniu
pokazywalo ponownie chmurke
-
3. Data: 2012-09-09 23:32:51
Temat: Re: JS - jak wyłączyć reakcję na mysz?
Od: Marek <p...@s...com>
Dnia Fri, 7 Sep 2012 20:16:06 +0000 (UTC), Konrad Karpieszuk napisał(a):
> nie wiem jak to wyglada w calosci kodu ale przychodzi mi do glowy dodac
> onMouseOver='pokazChmurke()' dla samej chmurki :) tak by po najechaniu
> pokazywalo ponownie chmurke
Poszedłem tym tropem. Sprawy się mocno skomplikowały :-( Mianowicie gdy
kursor zdązył najechać na chmurkę zanim ta zniknęła to automatycznie
blokuje ona mousemove. Przechwyciłem to zdarzenie na chmurce i kolejny
problem powstał. Jeśli wykonamy ciągły ruch myszką do góry i w prawo to
onmouseout nie wygeneruje się na obiekcie pod chmurką. W konsekwencji nie
mogę chmurki ukryć nie majęc tego zdarzenia i wtedy wisi ona gdzieś w
nieadekwatnym miejscu na ekranie. :( Z kolei nie mogę chować chmurki na
onmouseout na samej chmurce i kółko się zamyka. :(
-
4. Data: 2012-09-10 02:00:56
Temat: Re: JS - jak wyłączyć reakcję na mysz?
Od: "Jordan Szubert" <u...@j...us.to>
Dnia 05-09-2012 o 22:16:46 Marek <p...@s...com> napisał(a):
> Witam,
>
> Chciałbym aby po najechaniu myszy na pewien obszar kursor zmienił swój
> wyglkąd na chmurkę z informacjami. Chmurka miałaby się poruszać zgodnie z
> kursorem. Lewa krawędź chmurki ma być w miejscu kursora. Czyli
> implementacja wyglądała by tak:
>
> <div class="naszObszar" onMouseOver="pokazChmurke()"
> onMouseOut="ukryjChmurke()" onMouseMove="przemiescChmurke()">...
>
> Gdy przesuniemu kursor myszy w lewo - jest ok. Gdy w prawo przesuniemy,
> to
> kursor najeżdża na chmurkę i tym samym ucieka z w/w obszaru powodując, że
> chmurka zostanie ukryta (powstanie zdarzenie onmouseout). Co zrobić aby
> chmurka dla myszki była przejrzysta? Tzn. aby najechanie na nią nie
> generowało zdarzenia onmouseout w obiekcie pod nią (i jakiegokolwiek
> innego
> zdarzenia związanego z myszką)?
się wzięłem za ekperymenty http://www.joru.us.to/html/chmurka.html (wiem,
naskrobane na kolanie)
wychodzi, że warto przemyśleć, czy chmurka nie powinna być potomkiem
elementu, który naywasz obszarem
a, i może się okazać, że w CSS da się zrobić na tyle dużą część zadania,
że nie warto używać JS do reszty
--
Jordan Szubert
-
5. Data: 2012-09-10 14:14:41
Temat: Re: JS - jak wyłączyć reakcję na mysz?
Od: TOUDIdel <t...@o...pl>
W dniu 05.09.2012 22:16, Marek pisze:
> Chciałbym aby po najechaniu myszy na pewien obszar kursor zmienił swój
> wyglkąd na chmurkę z informacjami. Chmurka miałaby się poruszać zgodnie z
> kursorem. Lewa krawędź chmurki ma być w miejscu kursora. Czyli
> implementacja wyglądała by tak:
A może chcesz po prostu wyświetlać tooltipy?
http://jquery.bassistance.de/tooltip/demo/
--
td
-
6. Data: 2012-09-12 10:37:36
Temat: Re: JS - jak wyłączyć reakcję na mysz?
Od: "M.G." <k...@t...zna>
On Wed, 5 Sep 2012 22:16:46 +0200, Marek wrote:
> Witam,
>
> Chciałbym aby po najechaniu myszy na pewien obszar kursor zmienił swój
> wyglkąd na chmurkę z informacjami. Chmurka miałaby się poruszać zgodnie z
> kursorem. Lewa krawędź chmurki ma być w miejscu kursora. Czyli
> implementacja wyglądała by tak:
>
> <div class="naszObszar" onMouseOver="pokazChmurke()"
> onMouseOut="ukryjChmurke()" onMouseMove="przemiescChmurke()">...
>
> Gdy przesuniemu kursor myszy w lewo - jest ok. Gdy w prawo przesuniemy, to
> kursor najeżdża na chmurkę i tym samym ucieka z w/w obszaru powodując, że
> chmurka zostanie ukryta (powstanie zdarzenie onmouseout). Co zrobić aby
> chmurka dla myszki była przejrzysta? Tzn. aby najechanie na nią nie
> generowało zdarzenia onmouseout w obiekcie pod nią (i jakiegokolwiek innego
> zdarzenia związanego z myszką)?
onMouseOver dla chmurki zapala flagę "jestem nad chmurką", onMouseOut nad
chmurką gasi flagę "jestem nad chmurką", a ukryjChmurke() sprawdza czy
flaga jest zapalona. Jeśli jest - nie ukrywa chmurki.
--
M.G.
-
7. Data: 2012-09-12 16:11:23
Temat: Re: JS - jak wyłączyć reakcję na mysz?
Od: Marek <p...@s...com>
Dnia Wed, 12 Sep 2012 10:37:36 +0200, M.G. napisał(a):
> On Wed, 5 Sep 2012 22:16:46 +0200, Marek wrote:
>
>
> onMouseOver dla chmurki zapala flagę "jestem nad chmurką", onMouseOut nad
> chmurką gasi flagę "jestem nad chmurką", a ukryjChmurke() sprawdza czy
> flaga jest zapalona. Jeśli jest - nie ukrywa chmurki.
Też tak kombinowałem. To nie zadziała. Sęk w tym, że w chwili gdy chmurka
znajdzie się pomiędzy kursorem a obiektem, to na tym obiekcie nie powstaną
zdarzenia onmouseover/out, które z kolei sterują tym co jest wyświetlkane w
chmurce oraz animacją pojawiania się jej i ukrywania. W Action Script 3
jest fajna flaga obiektu: mouseEnabled=true/false do rozwiązywania takich
problemów. Programowo chyba mi się nie uda tego rozwiązać w JS :-(
-
8. Data: 2012-09-13 00:09:46
Temat: Re: JS - jak wyłączyć reakcję na mysz?
Od: Paweł Piskorz <n...@p...nie.invalid>
W dniu 2012-09-05 22:16, Marek pisze:
> Co zrobić aby
> chmurka dla myszki była przejrzysta? Tzn. aby najechanie na nią nie
> generowało zdarzenia onmouseout w obiekcie pod nią (i jakiegokolwiek innego
> zdarzenia związanego z myszką)?
https://developer.mozilla.org/en-US/docs/CSS/pointer
-events
http://caniuse.com/#search=pointer-events
--
message[autor="PablO"]::after {
content:"Pozdrawiam";
}
-
9. Data: 2012-09-13 00:48:06
Temat: Re: JS - jak wyłączyć reakcję na mysz?
Od: Marek <p...@s...com>
Dnia Thu, 13 Sep 2012 00:09:46 +0200, Paweł Piskorz napisał(a):
> W dniu 2012-09-05 22:16, Marek pisze:
>> Co zrobić aby
>> chmurka dla myszki była przejrzysta? Tzn. aby najechanie na nią nie
>> generowało zdarzenia onmouseout w obiekcie pod nią (i jakiegokolwiek innego
>> zdarzenia związanego z myszką)?
>
> https://developer.mozilla.org/en-US/docs/CSS/pointer
-events
> http://caniuse.com/#search=pointer-events
Dzięki :-) Właśnie o to mi chodziło. Oczywiście IE jak zwykle odstaje od
reszty... :-(
-
10. Data: 2012-09-13 07:27:51
Temat: Re: JS - jak wyłączyć reakcję na mysz?
Od: n...@t...net.pl
W dniu czwartek, 13 września 2012 00:48:15 UTC+2 użytkownik Marek napisał:
> Dnia Thu, 13 Sep 2012 00:09:46 +0200, Paweł Piskorz napisał(a):
>
> Oczywiście IE jak zwykle odstaje od reszty... :-(
Tak OT, to prawdopodobnie przez kretyńsko potraktowane w USA prawa autorskie.
...zaokrąglone rogi fonów, a.pl...
To naprawdę irytujące.
Andrzej.