ugrás a tartalomhoz

jquery scroll probléma

Blackfriar · 2015. Aug. 6. (Cs), 19.10
Sziasztok !
Elakadtam a címben jelzett feladat megoldásában.
Látszólag minden a helyén van, a scrollozás is működik,
persze furán és nem megfelelően.
Pl. egyazon betűre kattintgatva a lista nem marad egyhelyben,
meg nem a megfelelő helyre ugrik.
itt lehet megnézni a szánalmas tákolmányom :-))

Előre is köszönöm a segítségeteket.
 
1

Az örökbecsű cikk útmutatásai

Endyl · 2015. Aug. 7. (P), 13.12
Az örökbecsű cikk útmutatásai alapján hamar kideríthető, hogy a jQuery.offset() látszólag inkozisztens adatokat ad vissza. A dokumentációt elolvasva kiderül, hogy miért (kiemelés tőlem):
Get the current coordinates of the first element, or set the coordinates of every element, in the set of matched elements, relative to the document.


Tehát ha nem magát a dokumentumot görgeted, hanem egy elem tartalmát, akkor a görgetett elem által tartalmazott elemek dokumentumhoz képesti pozíciója meg fog változni, így minden görgetés után más értéket fogsz kapni.

Ehelyett célszerűbb a "vanilla" offsetTop tulajdonságot használni, mert ez az offsetParenthez képesti pozíciót adja vissza, ami konzisztens lesz, és igazából erre van szükség a görgetéshez.

Pár megjegyzés a kódhoz:
  • célszerű lehet úgy megoldani, hogy js nélkül is használható legyen a görgetés
  • egy darab eseménykezelővel is megoldható a feladat

Ezeket is figyelembe véve itt egy egyszerű példa.
2

köszönet

Blackfriar · 2015. Aug. 7. (P), 14.18
Hálás köszönet a mindenre kiterjedő válaszért, segítségért.