Pytanie (a w zasadzie prośba) do mirasków ogarniających #javascript i #jquery. Mam sobie kod, który ujawnia element na stronie w zależności od przesunięcia strony w pionie. Chciałbym go stosować do wielu, niezależnych od siebie elementów, więc próbuję zmienić go w funkcję przyjmującą w parametrze identyfikator obiektu, którego ma dotyczyć. Problem w tym, że javascript to dla mnie zupełnie obce okolice (jquery w szczególności). Próbowałem ugryźć to
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak rozwiązać większość problemów, gdzie trzeba użyć #javascript bo #css ma za małe możliwości:

Proponuję coś takiego (opisy w języku ponglish, bo nie znam angielskiego ;)):

Rule value functions:
[property]() - get value of this element.
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • Doceń
@regis3: Ale weź pod uwagę że pierwszy i ostatni z danego id muszą być w kolorach.
To się da selektorem rodzeństwa ale tylko na pierwszy a nie na ostatni(albo na odwrót).
Prócz tego trzeba generować style w JS i je dodawać dynamicznie, style - które są identyczne.

W rzeczywistym projekcie by się niczym nie różniło, prócz po prostu nie koloru tylko marginesu itd, ale to szkoda tutaj tłumaczyć. Problem jest
  • Odpowiedz
Hej,

Jak zrobić skryptozakładkę - #bookmarklet która by na kochanym #fb automatycznie rozwijała treści, komentarze....
taki auto expand treści stopowanych takimi napisami jak "Zobacz więcej" czy "Continue Reading", "See More", "View more comments" etc.

To samo na wykopie - może ma ktoś jakiś userscripts mam dość ciągłego klikania w "pokaż całość", "więcej komentarzy" ew. nawet nadużywane i szkoda rąk aby w to klikać, więc byłbym wdzięczny za jakąś pomoc.
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@kolotego: nie ma czegos takiego jak getElementsById. id musi byc unikalne i teoretycznie tylko jeden element na stronie moze jednoczesnie miec dane id.

Moze byc getElementById (pojedynczy element), albo getElementsByClassName, wtedy wybierasz elementy po klasach (wiele elementow moze miec dana klase).
  • Odpowiedz
@kolotego: w querySelectorAll stosujesz selektory jak w css - przed nazwa klasy ma byc kropka.

Poszukaj sobie jakie sa klasy na elementach, ktore chcesz klikac i tyle. Jesli konkretny element nie ma zadnej klasy, to patrz jaka ma rodzic etc. (np tak jak tutaj '.more > a' - wybiera element 'a' bedacy bezposrednim dzieckiem klasy '.more'). Jak nie wiesz jak to dziala, to googlaj 'css selectors' - 5 minut czytania
  • Odpowiedz
Czy jest tu jakiś Mirek, który bawił się w userscripty? Interesuje mnie możliwość zatrzymania zagnieżdżonego skryptu na stronie w przeglądarkach Chrome i podobnych (Blink).

Sprawa nie jest prosta, bo skrypt bazuje na IIFE, także nie dość, że jest zagnieżdżony w HTMLu (inline) to jeszcze wywołuje się natychmiastowo w anonimowej funkcji (nie ma dostępu do wewnętrznych metod i większości zmiennych).

Chrome nie obsługuje zdarzeń typu "beforescriptexecute" i wycofał obsługę zdarzeń "beforeload". Dlatego nie szukam porad
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@szymy: widzę że próbujesz znaleźć rozwiązanie problemu ( ͡° ͜ʖ ͡°)
Z jednej strony, cieszy mnie to - z drugiej jak znowu pomyślę o tych straconych godzinach ( ͡° ʖ̯ ͡°)
  • Odpowiedz
Treść przeznaczona dla osób powyżej 18 roku życia...
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Hoff:
WebStorm zdaje się wyraźnie lepszy niż wszystko inne (IntelliJ to tak jakby nadzbiór WebStorma).

WS rozumie JavaScript. Rzeczy typu JSHint są wbudowane i trzeba je tylko włączyć. Jednak rozumienie JavaScriptu oznacza np. coś, czego w głupszych IDE/edytorach (np. Sublime) się raczej nie spotka. Możesz automatycznie refaktoryzować kod.

Zmiana nazwy zmiennej oparta jest na drzewie syntaktycznym, a nie tekstowym wyszukiwaniu. Możesz w czasie rzeczywistym modyfikować wszystkie wystąpienia danej zmiennej czy np. parametru
  • Odpowiedz
Dopiero co ukazała się świeża, jeszcze ciepła specyfikacja ES6 (zwanego także ES2015), natomiast dziś przygotowałem dla Was wpis w którym wyjaśnię w jaki sposób słaba jakość kodu ExtJS sprawiła, że jedna z części ES6 rozwalała wiele stron na nim opartych, oraz jaki brzydki hack zastosowano, żeby tego uniknąć. Zapraszam do czytania.



Dynamic scoping
Przy okazji jednego z wpisów popełniłem już dość obszerny fragment odnośnie tego jak działa scoping w JSie. Uzupełnijmy go o informację,
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@regis3: O tym mówię, jeśli ktoś jest już na tyle zaawansowany, żeby interesować się JSem na takim dość niskim, technicznym poziomie, to najpewniej i tak już zna angielski na tyle dobrze, że mu nie zrobi różnicy. A po angielsku łatwiej dotrzeć do większej grupy odbiorców.
  • Odpowiedz
Hej mirki, potrzebuję rady związanej z przetwarzaniem XSLT w JavaScript. Czy orientuje się może ktoś jak podać XSLtowski argument 'mode' do obiektu XSLTProcessor?

Chodzi o to, że w arkuszu XSLT mam kilka szablonów (template) odnoszącymi się do danej gałęzi XML, ale z różnymi argumentami MODE. Potrzebuję podać JavaScriptowi z którego szablonu ma konkretnie skorzystać i nie mogę. Ktoś może wie?

#javascript #xsl #xslt #xml
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach