Jestem zdecydowanie bez programisty JS (właściwie prawie nie programistą :) ale chciałem spróbować napisać mały skrypt Greasemonkey, aby ukryć kilka elementów na określonej stronie. Kiedy zacząłem go wycinać, zdecydowałem się użyć jQuery, aby to ułatwić. Wszystko poszło dobrze, skrypt działa, ale teraz, kiedy jest gotowy, zacząłem zastanawiać się nad szczegółami.Jak zamrozić repliki przeglądarki podczas zmiany widoczności elementów?
W ramach skryptu muszę znaleźć określony element i ukryć go, wraz z poprzednim i kolejnym rodzeństwem. Ja nie zakończyła się, że czytelne, ale linia pracy:
$('div#some-weird-box').prev().toggle(w).next().toggle(w).next().toggle(w);
Moja obawa o to, że jestem usunięcie trzech oddzielnych div w trzech oddzielnych etapach. Spowoduje to, że przeglądarka "odświeży" stronę trzy razy, prawda? To nie jest problem z trzema divami, to prawdopodobnie zaczyna mieć znaczenie, gdy jest więcej elementów. Moje pytanie brzmi: czy istnieje sposób, aby powiedzieć przeglądarce "przestań odświeżać/przerysować stronę"? Jeśli tak, mogę go użyć, ukryć dowolną liczbę elementów, a następnie poprosić przeglądarkę o aktualizację ekranu.
Interesujące. Czy jest jakaś dobra lektura, na którą możesz mnie wskazać? Jeśli tak, to dlaczego widzę wszystkie te porady, aby usunąć element z drzewa, zastosować zmiany, a następnie je przywrócić? http://www.slideshare.net/nzakas/writing-efficient-javascript - slajd 77 lub 88 ...? – yacoob
To dość odważne, ogólne stwierdzenie, nie można powiedzieć, że będzie to przypadek w 100% przypadków. –
Nie złożyłem oświadczenia zbiorczego. Złożyłem oświadczenie dotyczące kodu, który opublikował. Nie ma się o co martwić. Będzie widział tylko jedną odświeżoną w dowolnej przeglądarce, a podczas modyfikowania 3 węzłów nie powinien klonować węzła i modyfikować go poza stroną. – Prestaul