Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: określenie position() względem rodzica
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
d4ng
Cześć potrzebuje określać miejsce każdego elementu który ma zadeklarowany atrybut data-branch względem rodzica - klasy component jak to zrobić? Bo jakby sytuacja była taka że dziecko jest zagnieżdżone bezpośrednio w rodzicu to nie ma problemu bo użyłbym position() ale jeżeli dziecko ma własne dzieci to position nie odnosi się do macieżystego rodzica tylko do najbliższego czyli wyjściowego dziecka hmm troche to skomplikowałem ale wierze że ktoś mnie zrozumie albo moje dzieci heheh haha.gif

  1. <div class="component">
  2. <ul class="component--list">
  3. <li data-branch="1"><p>item<p></li>
  4. <li><p>item<p></li>
  5. <li>
  6. <p>item<p>
  7. <ul class="component--list">
  8. <li><p>item<p></li>
  9. <li data-branch="2"><p>item<p></li>
  10. </ul>
  11. </li>
  12. <li><p>item<p></li>
  13. <li><p>item<p></li>
  14. </ul>
  15. </div>



Ps. wiem że jest jeszcze offset() ale on jest bardziej globalny i jeżeli coś się zmieni nad komponentem np bedzie jakiś expander to rozjedzie mi wyliczenia :/ dlatego bardzo mi zalezy żeby wyliczanie pozycji odbywało się względem głównego rodzica "component"

znalazłem cos takiego jak position Ui tylko jest problem z tym że element którego pozycje powionien mi podac względem roota przestawia dodajac style i nie uwzględniając paddingów i marginów.. :/ jakis pomysł ?


[JAVASCRIPT] pobierz, plaintext
  1. $('[data-branch="2"]').position({of: '.component'})
[JAVASCRIPT] pobierz, plaintext
trueblue
  1. $('[data-branch="2"]').offset().top - $("div.component").offset().top;
d4ng
cześc dzieki za odpowiedź niestety nie moge użyć offset bo on odnośi się do globalnego dokumentu i jeżeli coś nad komponentem ulegnie zmianie np zmieni wysokośc z uwagi na expander to lmój komponent się rozjedzie
trueblue
Jeśli coś znajdzie się nad komponentem to wpłynie na wartość uzyskaną przy offset dla obydwu elementów. Przesunięcie zniesie się przy obliczeniu.
Sprawdzałeś?
d4ng
offset nie uwzględnia margin i padding więc rozwiazałem probblem dosyć złozoną funkcją która leci po drzewie i pobiera outerHeight każdego elementu. Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.