Autor Zpráva
d.b.cooper
Profil *
Chtěl bych se zeptat jak by jste na stránce testovali jak dlouho vzdálensot uživatel udělal se stiklím tlačítkem -> jde mi o to zobrazení/skrytí levého menu přejetím prstu
momentálně jde o zavírání.

html :

<div id= sidebar>
<ul>
<li><h2><span>text</span></h2></li>
<li><a href=""><span>text</span></a></li>
<li><a href=""><span>text</span></a></li>
<li><a href=""><span>text</span></a></li>
...
</ul>
</div>

js:

        $("#sidebar, #sidebar a ").mousedown(function(e){
          console.log("start");    
          console.log("up "+e.pageX);
          $(this).mouseup(function(f){
              
              var diffX = e.pageX - f.pageX;                        
            console.log("up "+e.pageX);
            console.log(diffX);
            return false;
        });
                
    } );

Ku podivu událost funguje na css name #sidebar i když jsou přez něj další prvky.Co ale nefunguje je pokud kliknu první na odkaz. Proto jsem tam přidal css name "#sidebar a" což je ale k ničemu. Odkaz se začne v prohlížeči přetahovat (vypadá to jako přetahování obrázku) a mouseup se nevykoná => funguje to pouze na nadpisech h2 :/

Nevíte co s tím díky za jakoukoliv radu.
janbarasek
Profil
d.b.cooper:
Asi bych to měřil na nějakém "neutrálním" elementu, který bych nastyloval jako to tlačítko.

Udělej si například div, při akci "stisknutí myši" si do proměnných ulož souřadnice a pak při události "přejetí myší" také pokaždé znovu vytahuj souřadnice. Vzdálenost se pak dá dopočítat třeba přes pythagorovu větu, která je univerzální pro všechny možné směry pohybu kurzorem (prstem).

Výpočet by mohl vypadat nějak takto (symbolicky):
x = 40; //místo kliknutí x
y = 35; //místo kliknutí y
a = 45; //kam ukazuji x
b = 32; //kam ukazuji y

a = abs(x-a);
b = abs(y-b);
vysledek = sqrt(a*a+b*b);

SQRT = odmocnina
ABS = absolutní hodnota
1Pupik1989
Profil
Jen dodám, že abs není třeba používat. Vždy vyjde po násobení kladné číslo.
janbarasek
Profil
1Pupik1989:
Aha, to mi v tu chvíli nedošlo, ale děkuji za připomínku. Stejně si ale myslím, že je dobré ABS používat, protože u jiných vzorečků by to mohlo dělat neplechu (například u třetí mocniny).
1Pupik1989
Profil
U vzdálenosti dvou bodů v rovině nebo prostoru, se to stát nemůže. Mínus krát mínus je zase plus. Tudíž odmocnina bude vždy plusová. Zrovna u tohoto vzorečku se to stát nemůže v žádném případě.
juriad
Profil
Ukázka: http://kod.djpw.cz/xweb

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0