Article View: pl.comp.www
Article #408748Re: getElementById zwraca null
From: Jivanmukta
Date: Mon, 19 Nov 2018 07:54
Date: Mon, 19 Nov 2018 07:54
33 lines
2299 bytes
2299 bytes
> 3. Ponadto z nazwy w/w funkcji wnioskuję iż naruszasz strukturę DOM by
> coś zanimować. Nie wiem jak konkretnie animujesz więc tylko zgaduję.
> Jeśli np. używasz innerHTML gdzieś dalej do zapisu, to wtedy takie cuda
> mogą się dziać. Nie należy używać do tego celu innerHTML bo jest
> strasznie wolne gdyż wymusza odświeżanie _CAŁEJ_ struktury DOM. Wtedy
> okresowo możesz tracić dostęp do DOM mimo iż pozornie wydaje Ci się, że
> nic się w niej nie zmienia. To dość częsty błąd początkujących
> programistów JS a i zaawansowani czasem też o tym nie wiedzą.
>
// Animuj literkę w napisie tytułowym:
var letterIndex = -1;
var mainTitle;
function animateMainTitle() {
'use strict';
if (mainTitle === undefined) {
mainTitle = document.getElementById("main_title").innerHTML;
}
letterIndex = (letterIndex + 1) % mainTitle.length;
var s = mainTitle.substr(0, letterIndex) +
'<span class="selected_letter">' +
mainTitle.substr(letterIndex, 1) +
'</span>' +
mainTitle.substr(letterIndex + 1);
document.getElementById("main_title").innerHTML = s;
setTimeout(animateMainTitle, 100);
}
Czy gdybym zamiast innerHTML umieścił wszystkie literki w span'ach i
ustawiał tylko atrybut class odpowiedniej literki to byłoby lepiej?
Technical Details
Message-ID:
<pstq77$1p1on$1@portraits.wsisiz.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!.POSTED.public-gprs352856.centertel.pl!not-for-mailReferences:
<psa4kg$1d6er$1@portraits.wsisiz.edu.pl> <pss93t$rda$1@node1.news.atman.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!.POSTED.public-gprs352856.centertel.pl!not-for-mail From: Jivanmukta <jivanmukkta@poczta.onet.pl> Newsgroups: pl.comp.www Subject: Re: getElementById zwraca null Date: Mon, 19 Nov 2018 08:54:14 +0100 Organization: http://www.wit.edu.pl Message-ID: <pstq77$1p1on$1@portraits.wsisiz.edu.pl> References: <psa4kg$1d6er$1@portraits.wsisiz.edu.pl> <pss93t$rda$1@node1.news.atman.pl> Mime-Version: 1.0 Injection-Date: Mon, 19 Nov 2018 07:54:15 -0000 (UTC) Injection-Info: portraits.wsisiz.edu.pl; posting-host="public-gprs352856.centertel.pl:37.47.9.153"; logging-data="1869591"; mail-complaints-to="abuse@wsisiz.edu.pl" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 In-Reply-To: <pss93t$rda$1@node1.news.atman.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit