Mindre Jquery problem med scrollhjulet

Trädvy Permalänk
Medlem
Registrerad
Mar 2002

Mindre Jquery problem med scrollhjulet

Har stött på ett mindre störande problem med Jquery som jag inte verkar kunna lösa.

Förklaring:
Har en sida som är uppdelad i tre sektioner där varje sektion fyller skärmens yta (height:100vh;). Scrollbaren är borttagen och för att kunna navigera på sidan måste man använda sig av scrollhjulet eller någon av de tre ankarpunkterna.
Vid scroll nedåt eller uppåt flyttas hela sektioner upp resp. ner och täcker hela skärm ytan.
Klickar man på någon av de ankarpunkterna görs samma sak och det är här problemet dyker upp. Efter att jag har klickat på t.ex. ankarpunkt nr. 2 så går det ej att scrolla uppåt, ingenting händer förrän jag scrollar nedåt, därefter går det att scrolla uppåt.

Jag tror problemet sitter i att när jag klickar på en av ankorpunkterna och flyttar ned sidan så tror Jquery koden att t.ex. sida nr 2 är nu sida nr1. d.vs. Delta blir 0 och scrolluppåt fungerar inte förrän man scrollar nedåt och då hittar koden sin plats och allt fungerar som det ska igen.
Jag klurat på det här ett tag och kommer inte fram till någon som kan lösa problemet.

Hela koden in action hittar ni här och hur den fungerar:
http://jsfiddle.net/trq9qav5/2/

"Wise men say, 'Forgiveness is divine, but never pay full price for late pizza'."

Trädvy Permalänk
Medlem
Plats
Östhammar
Registrerad
Sep 2008

Det jag lägger märke till när jag i Firefox kollar i verktygen för utvecklare och inspekterare är att när jag scrollar ändrar <section> och <li> för den "sidan" class till active.

När jag klickar på länkarna är det endast <li> som ändrar class till active, om detta gör någon skillnad vet jag inte, men värt att kolla på.

//zekel

edit:

testade lite till.

Om jag scrollar till den andra sidan, sedan klickar på den första och scrollar ner en gång hoppar den till tredje sidan.

Det verkar som att den tror att den andra sidan fortfarande är aktiv, så börja med att få den att ändra class="active" på <section> även när man klickar på länkarna.

I'd rather hate you, for everything you are
Then ever love you, for something you are not

Trädvy Permalänk
Medlem
Registrerad
Mar 2002

Ah, det har jag missat. Tackar så mycket!
Nu ska jag se om jag lyckas lösa det här på ett snyggt sätt, varje steg just nu i Jquery är som att bestiga ett berg då jag är fruktansvärt novis.

Tack igen

"Wise men say, 'Forgiveness is divine, but never pay full price for late pizza'."

Trädvy Permalänk
Medlem
Plats
Östhammar
Registrerad
Sep 2008

@Pnorberg: Jo, jag vet känslan. Har börjat knåpa med jQuery nyligen jag med, men har funnit att Firefox webbutvercklar verktyg hjälper en att se vad som händer vid olika events.

gjorde ett tillägg i mitt förra inlägg så kolla på det.

//zekel

I'd rather hate you, for everything you are
Then ever love you, for something you are not

Trädvy Permalänk
Medlem
Registrerad
Mar 2002

@zekei: Hehe jo det underlättar en hel del, vet dock inte varför jag inte ens tänkte på att kika där, använder Chromes motsvarighet och har som uppe den konstant för att se vad som händer, fick sitta och följa "active" läget när det blev först fel med menyn till vänster och såg hur "active" hoppade här och där. Sen helt plötsligt tänker jag inte ens på att titta vad som händer med divarna om de blir aktiva.
Skyller på att det är väldigt mycket i huvudet just nu.

"Wise men say, 'Forgiveness is divine, but never pay full price for late pizza'."

Trädvy Permalänk
Medlem
Plats
Östhammar
Registrerad
Sep 2008

@Pnorberg: Kul att höra att det löste sig.

//zekel

I'd rather hate you, for everything you are
Then ever love you, for something you are not