Přepsání jQuery do JavaScriptu

Jakub

Přepsání jQuery do JavaScriptu
« kdy: 10. 11. 2015, 12:14:14 »
Zdravím, našel jsem kód který je pro jQuery ale potřebuji ho napsat pouze pro čistý JS. Neporadí prosím někdo ? Moc děkuji.
http://kod.djpw.cz/nasb
« Poslední změna: 10. 11. 2015, 20:09:38 od Petr Krčmář »


DK

Re:Problém s funkcí
« Odpověď #1 kdy: 10. 11. 2015, 12:34:42 »

Jakub

Re:Problém s funkcí
« Odpověď #2 kdy: 10. 11. 2015, 12:53:21 »
Tak to jsi velký mazák :) já se s tím hrál půl dne a výsledek 0 :( Moc moc děkuji. A když už, šlo by to volat jako
myFunkce("text text text text text text"); a vypisovat to do divu s nějakým id ? (Aby ten div byl prázdný). Děkuji

0x7f000001

Re:Problém s funkcí
« Odpověď #3 kdy: 10. 11. 2015, 14:13:27 »

.

Re:Přepsání jQuery do JavaScriptu
« Odpověď #4 kdy: 11. 11. 2015, 09:09:04 »
Přesnější by bylo použít
Kód: [Vybrat]
getElementsByClassName.


karel

Re:Přepsání jQuery do JavaScriptu
« Odpověď #5 kdy: 12. 11. 2015, 06:14:51 »
Přesnější by bylo použít
Kód: [Vybrat]
getElementsByClassName.

A to jako proč ? Že by se mu ten samý text mohl vzpisovat v x divech ? Pro tento případ je použití class identifikaru naprosto zbytečné.

Sheldonizátor

Re:Přepsání jQuery do JavaScriptu
« Odpověď #6 kdy: 12. 11. 2015, 06:31:39 »
Kód: [Vybrat]
https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll

Lucas

Re:Přepsání jQuery do JavaScriptu
« Odpověď #7 kdy: 12. 11. 2015, 06:53:12 »
Abyste se nehádali, tak pravdu v podstatě nemáte ani jeden, protože takhle je to strašně neuniverzální. V praxi přece nebudete vypisovat text do jednoho jediného elementu a už nikdy jinak(a pokud ano, tak copy/paste?). Jinak Sheldonizátor má správnou připomínku ohledně querySelectoru, který sice může být naopak v extrémnějších případech výhodné nahradit za getElementById kvůli výkonu, ale jinak při běžném použití dokáže neuvěřitelně usnadnit práci. Tu funkci bych osobně viděl nějak takhle:

Kód: [Vybrat]
/**
 * Animovaný výpis textu
 *
 * @method writer
 * @param  {String} text       Text k vypsání
 * @param  {Number} [delay=50] Prodleva mezi znaky v milisekundách
 */
function writer(element, text, delay) {
    delay = delay || 50;
    element.innerHTML = '';
    var interval = setInterval(function() {
        if (text.length) {
            element.innerHTML += text[0];
            text = text.substring(1);
        }
        else
            clearInterval(interval);
    }, delay);
}

// Test
window.onload = function() {
    writer(document.querySelector('#test'), 'Helllllllllllllllllllllllllllllllo');
    writer(document.querySelector('.test'), 'Worlllllllllllllllllllllllllllllld!');
};

Re:Přepsání jQuery do JavaScriptu
« Odpověď #8 kdy: 12. 11. 2015, 08:27:07 »
Přesnější by bylo použít
Kód: [Vybrat]
getElementsByClassName.

A to jako proč ? Že by se mu ten samý text mohl vzpisovat v x divech ? Pro tento případ je použití class identifikaru naprosto zbytečné.

Předpokládám, že asi proto, protože ten původní příklad je s atributem class a ne id.