2012-08-24 12 views
7

To jest trochę zbyt trudne dla mojej wiedzy jQuery/javascript, więc przykro mi to mówić, że tak naprawdę nie próbowałem niczego jeszcze. Potrzebuję wskazówek, żeby wskazać właściwy kierunek!Jak przewinąć element wewnątrz elementu nadrzędnego, gdy przechodzi stały element?

Problem polega na tym, że mam stały element na mojej stronie, a podczas przewijania w dół ten element będzie wchodził w inne opakowania, a gdy w tym opakowaniu potrzebuję mniejszego elementu podrzędnego, aby "przyciągnąć" do mojego stałego elementu i gdy jest on w elemencie.

Rodzaju trudne do wytłumaczenia, zrobiłem statyczny makieta tutaj:

http://jsfiddle.net/ycmYc/

Kiedy „Fixed koszyk przycisk” osiągnie cenę, muszę go dołączyć i użyj przycisku koszyka ile to jest w cenach "produkt-div". Po opuszczeniu i przejściu do następnej, cena powinna pozostać w dolnej części produktu, a następnie ponownie przyciągnąć do przycisku koszyka, gdy użytkownicy osiągną go, przewijając w górę.

Cóż, znowu przepraszam, że nie próbowałem niczego, ale jestem zgubiony. Gdybym musiał to zrobić bez żadnej pomocy, myślę, że pójdę z waypoints.js, ale to jest dalekie od optymalnego.

Każda pomoc DUŻO NAGRODZONA!

Ustalony element zawsze będzie miał tę samą pozycję, więc domyślam się, że można przesunąć z góry przeglądarki zamiast śledzić jego pozycję. Zawsze coś;)

Aktualizacja:

pracuje nad nim siebie, a dostał pracę w dół, ale nie w górę:

powinny wyjaśnić, co mam na myśli:

http://retype.se/temp/scrolltest/test.html

Podczas przewijania pod względem ceny łączy się z przyciskiem w dół i luzuje się przy wyjściu z pojemnika. Teraz mam problem z przewinięciem i przewijam w górę do pierwotnej pozycji podczas przewijania w górę :)

+0

A co z - kiedy przycisk * * początkowo nad "żółtym" obszar? –

+0

Nic nie powinno się wydarzyć, dopóki _button_ nie osiągnie pierwszej ceny ... wtedy cena powinna się zatrzasnąć i przewinąć z przyciskiem, podczas gdy w środku ceny rodzic .produkt pojemnika :) – jonas

+0

To naprawdę ważne, aby wiedzieć, czy wysokość ".product" będzie taka sama lub będą one zmienne –

Odpowiedz

0

To jest po prostu nieumiejętność, ale może robi się wszystko (sry, nie ma czasu na skrzypce). Ale wpadłem na pomysł, być może próbując optycznie oszukać.

Chodzi mi o to, aby obliczyć bezwzględne pozycje wszystkich działek cenowych, ukryć je, a gdy działka koszyka osiągnie tę pozycję, przewijając, pokazać podział ceny dla x ilości przewijania pikseli (lub poprzez z-indeksy przez tworzenie tła, nie wiesz, co Ci lepiej pasuje).

Mam nadzieję, że to trochę pomogło, może dostanę dziś czas, żeby to napisać.

0

To zależy od ograniczeń. Możesz wykryć pozycję przewijania okna za pomocą: window.pageYOffset lub document.documentElement.scrollTop.

Jeśli elementy div są tego samego rozmiaru, można łatwo obliczyć, który przycisk jest podany, a cena przy nim jest równa position: fixed.

1
+0

Prawie, zaktualizowałem mój oryginalny wpis – jonas

+1

Całkiem dobrze, podoba mi się drugi przykład. Wygląda na to, że musisz tylko pozwolić, aby pole cenowe podążało za przyciskiem, gdy znajduje się w jego wyznaczonym obszarze. (Zatrzymaj się na dole, aż przewiń do góry). – Thor84no

+0

Tak, to jest mój problem teraz Thor84no, myślałem, że to pytanie było martwe, więc udało mi się to zrobić sam z waypoints.js. Jednak działanie w obu kierunkach przewijania i pozostawienie ceny na dole każdego obszaru jest trudniejsze niż oczekiwano. Świetna robota, jednak songunkyun! – jonas

Powiązane problemy