Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Zmiana wartosci styli...
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Daimos
Witam
mam taki problem... jest sobie tekst, ktory ma ustalona klase np:
  1. <span class="abc">aslkdjalksjdasd</span>
  2. tu normalny tekst i znowu:
  3. <span class="abc">aslkdjalksjdasd</span>

teraz jak z poziomu javascript zmienic np. kolor dla wszystkich napisow umieszczonych w znacznikach span gdzie class = "abc"
nie moge wstawic ID do kazdego pola, wiec wyciaganie po getElementById odpada
chyba da sie po klasach zmieniac ogolne wartosci, tylko jak
abc667
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <meta http-equiv="Content-type"
  3. content="text/html; charset=iso-8859-2">
  4. <meta http-equiv="Content-Language" content="pl">
  5. <title>...</title>
  6. .abc { color: red; }
  7.  
  8. <script type="text/javascript">
  9.  
  10.  
  11. function getId(name)
  12. {
  13. var style = document.styleSheets[0].cssRules;
  14.  
  15. for(var i=0;i<style.length;i++)
  16. {
  17. if(document.styleSheets[0].cssRules[i].selectorText == name) return i;
  18. }
  19. return false;
  20. }
  21.  
  22. function zmienKolor(color)
  23. {
  24.  
  25. var id = getId('.abc');
  26.  
  27. document.styleSheets[0].cssRules[id].style.color = color;
  28. }
  29.  
  30.  
  31. </head>
  32.  
  33. <span class="abc">dsfdsfsdfdsfsdf</span>
  34. <a href="#n" onclick="zmienKolor('green');">zmien</a>
  35.  
  36. <span class="abc">text test text test text test text test text test text test text test text test text test text test text test text test text test </span>
  37. </body>
  38. </html>
Daimos
wszystko ladnie pieknie, ale nie dziala na IE sad.gif
ps. zna ktos oprocz tego metode na zmiane grafiki tla razem z kolorem w ie?
w foxie dziala takie cos:
  1. document.getElementById('xxx').style.background = '#ffffff url(adresobrazka)';

no a w IE zmienia w ten sposob kolor tylko
abc667
co do pierwszego to raczej nie mam ochotę na zabawę z tym czymś

a co do tła spróbuj

  1. document.getElementById('xxx').style.backgroundImage = 'url...
Daimos
no oddzielne wprowadzenie pomoglo, dzieki.
A z IE to nie wiem co zrobic, moze ktos bedzie mial pomysl?
bo ogolnie dziala, ale niechce mi zmienic kolorow linkow
probowalem tez tak:
  1. document.linkColor = xxxx;
i nie dziala w IE dalej
abc667
a wcześniej jak próbowałeś z tymi linkami?
Daimos
no ja wogole zanim odpisales znalazlem taki kod:
  1. function changecss(theClass,element,value) {
  2. var cssRules;
  3. if (document.all) {
  4. cssRules = 'rules';
  5. }
  6. else if (document.getElementById) {
  7. cssRules = 'cssRules';
  8. }
  9. for (var S = 0; S < document.styleSheets.length; S++){
  10. for (var R = 0; R < document.styleSheets[S][cssRules].length; R++) {
  11. if (document.styleSheets[S][cssRules][R].selectorText == theClass) {
  12. document.styleSheets[S][cssRules][R].style[element] = value;
  13. }
  14. }
  15. }
  16. }

i wpisalem tak:
  1. changecss('a','color','#ffffff');
wszystko dziala w foxie, ale ze linki maja swoje class to probowalem tez dopisac je odpowiednio:
  1. changecss('.classxxx','color','#ffffff');
i dalej, w foxie dziala, w IE nie
co dziwne ogolnie ten skrypt dziala, bo zmienia mi inne rzeczy w IE, np kolor czcionek w jakiejs tabeli, ale linki zostawia
------------------
ok znalazlem rozwiazanie
musialem zdefiniowac w stylu najpierw te linki
kazda klase, bo nie wszystkie byly winksmiley.jpg i teraz dziala ladnie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.