Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: tlo komorki w zaleznosci od id
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Dex1987
Witam,

jak zrobic cos takiego ze gdy wartosc zmiennej tlo bedzie taka sama jak zawartosc id w td to tlem bedzie 1.png a gdy inne to 2.png
Zajec
Kod
if (object.id == zmienna)
object.style.backgroundImage='url(1.png)';
else
object.style.backgroundImage='url(2.png)';
Nie prościek przez CSS?
Kod
#pierwszy { background-image: url(1.png); }
#drugi { background-image: url(2.png); }
Dex1987
css odpada... to ma wygladac tak .... mam tabelke i 3 komorki w niej w zaleznosci od podstrony na jednej z nich bedzie inne tlo ... wiec musi to byc cos dynamicznego, a no i jak to w skrypcioe zastosowac bo w js jestem ciemny dosc :/

Pozdrawiam dex.
LBO
hmmm.... w php wykryj jaka to strona i generuj odpowiedni kod CSS... nie powinno sie uzywac javascript'u tam gdzie nie trzeba, albo gdy ma sie mozliwosci, by to ominac... a w twoim przykladzie zaistnialy obie te sytuacje naraz
Dex1987
to jest dla mnie strona (panel administracyjny) i bardziej mi pasuje tu js :] wiec jak bys mogl to podaj mi ten przykladzik

Z gory dzieki, pozdrawiam
Zajec
Przecież piszesz, że obrazek ma być zależny od id komórki... Więc jeśli id komórce jest przypisywany np. przez php to CSS zadziała. A jeśli id nie jest przypisywany komórkom, to jak chcesz ten nieistniejący ID wykryć za pomocą JS?

Musisz jaśniej opisać :-|
Dex1987
Sory. Wiec tak mam sobie w JS zmienna abc = 'dex'; i teraz jesli jest jakas komorka <td id='dex'...> to bedzie miec ona background tlo1.png a jesli id jest inne niz dex to background bedzie tlo2.png. I mam jeszcze takie pytanie czy mozna przypisac w js zmiennej wartosc GET?

Pozdrawiam dex.
LBO
cos ci powem.. o ile nie korzystasz z AJAX wszystko mozna php zalatwic.. nie wiem po co sie babrasz z JS i IDkami
Zajec
Cytat(Dex1987 @ 2006-01-27 21:01:36)
Sory. Wiec tak mam sobie w JS zmienna abc = 'dex'; i teraz jesli jest jakas komorka <td id='dex'...> to bedzie miec ona background tlo1.png a jesli id jest inne niz dex to background bedzie tlo2.png. I mam jeszcze takie pytanie czy mozna przypisac w js zmiennej wartosc GET?

Pozdrawiam dex.

No to nic prostszego...
Kod
td { background-image: url(2.png); }
td#dex { background-image: url(1.png); }



A jeśli mimo wszystko chcesz to koniecznie za pomocą JS zrobić...
Kod
var td = document.getElementsByTagName('td');
for (var i=0; i<td.length; i++)
{
if (td[i].id=abc) td[i].style.backgroundImage='url(1.png)';
}
Dex1987
Siema, nie bardzo mi chce to działać, zmienilem troche tego if'a bo wydaje mi sie ze tak ma byc, oto kod

  1. <script type="text/javascript">
  2.  
  3. var td = document.getElementsByTagName ('td');
  4.  
  5. for (var i = 0; i < td.length; i++) {
  6.  
  7. if (td[i].id == 'abc') {
  8.  
  9. td[i].style.backgroundImage = 'url(m2_s_l.png)';
  10.  
  11. } else {
  12.  
  13. td[i].style.backgroundImage = 'url(m2_s.png)';
  14. }
  15. }
  16.  
  17.  
  18. <table border="1">
  19. <tr>
  20. <td id="abc" width="100%" height="50">
  21. Tu jakis tekst
  22. </td>
  23. </tr>
  24. <tr>
  25. <td id="inne" width="100%" height="50">
  26. Tu inny tekst
  27. </td>
  28. </tr>
Zajec
Jeżeli po if'ie nie dasz klamerki to dla parsera oznacza tyle, że do if'a należy tylko jedna linijka. W naszym przypadku korzystamy z jednej, więc klamerek nie trzeba.
Kod
<script type="text/javascript">
var td = document.getElementsByTagName ('td');
for (var i = 0; i < td.length; i++) {

if (td[i].id == 'abc')
td[i].style.backgroundImage = 'url(m2_s_l.png)';
else
td[i].style.backgroundImage = 'url(m2_s.png)';

}
</script>
Teraz daj to pod tabelką, w której mają być pozamieniane komórki i gotowe.
Dex1987
Ok. wszystko dziala, masz u mnie piwo @Zajec
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.