Keresés

Új hozzászólás Aktív témák

  • Sk8erPeter
    nagyúr

    Pure JS-el mennyire nevezhető ez a megoldás kulturáltnak, ha az összes li elem színét akarom változtatni?

    var listElements = document.querySelectorAll("li");
    for(var i = 0; i < listElements.length; i++){
    listElements[i].style.color = "rgb(" + currRed +
    ", " + currGreen + ", " +currBlue + ")";
    }

    Van ennél ortodoxabb, szebb megoldás?

    - Ahogy dqdb írta, itt pl. a színt előre el lehetne tárolni egy változóban, és azt a változót felhasználni minden alkalommal, mivel itt a cikluson belül nem változtatod, ergo értelmetlen mindig újból és újból összefűzögetni a stringet (mikrooptimalizáció, de az ilyen overheadek szépen egymásra tudnak rakódni, meg amúgy is igénytelenség nem figyelni a mikrooptimalizációra, ugyanígy nem hívogatunk egy metódust többször egymás után, hanem annak a visszatérési értékét is eltároljuk - már amennyiben persze nem változik a visszaadott érték menetközben).
    - Stílust nem szép állítgatni JavaScript-oldalról, erről itt volt szó nemrég: [link] (1. bekezdés vonatkozik ide is). Persze kérdés, mi a cél. Ezt itt nem árultad el nekünk, hogy mit szeretnél csinálni, úgyhogy nehéz eldönteni, hogy ez a megoldás így elfogadható-e - pl. lehet olyan, hogy valami üzleti logika van mögötte, és a számított értéket kénytelen az ember JavaScriptben beállítani.
    - Mi a cél azzal, hogy az oldalon az ÖSSZES list itemet beszínezed? Amúgy hallgass CSorBA kollégára, a szülőelemnek (<ul> vagy <ol>) add meg a színt egyszer, és kész - persze kivétel az, ha egy-egy elem színét felül szeretnéd bírálni, vagy explicite van bedrótozva a CSS-fájlba a list itemek színe.

    Na, szóval röviden írd le, mi a célod, és csak akkor tudjuk eldönteni, mi lenne rá a jó megoldás. :D

  • dqdb
    nagyúr

    Pure JS-el mennyire nevezhető ez a megoldás kulturáltnak, ha az összes li elem színét akarom változtatni?

    var listElements = document.querySelectorAll("li");
    for(var i = 0; i < listElements.length; i++){
    listElements[i].style.color = "rgb(" + currRed +
    ", " + currGreen + ", " +currBlue + ")";
    }

    Van ennél ortodoxabb, szebb megoldás?

    Ha ugyanazt a számolt adatot többször is felhasználod, akkor számold ki előre, tedd el egy változóba és onnan vedd ki az értékét. Én a JS-specifikus részekre nem térnék ki, azt majd megteszik mások.

  • CSorBA
    őstag

    Pure JS-el mennyire nevezhető ez a megoldás kulturáltnak, ha az összes li elem színét akarom változtatni?

    var listElements = document.querySelectorAll("li");
    for(var i = 0; i < listElements.length; i++){
    listElements[i].style.color = "rgb(" + currRed +
    ", " + currGreen + ", " +currBlue + ")";
    }

    Van ennél ortodoxabb, szebb megoldás?

    Mi lenne, ha az ul elem színét változtatnád? A li-re öröklődni fog.

Új hozzászólás Aktív témák