Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][JavaScript] Kilkukrotna zmiana koloru komórki
proton
post
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 4
Dołączył: 16.08.2006

Ostrzeżenie: (20%)
X----


Witam

Otrzymałem ostatnio pewne zadanie które podobno jest bardzo łatwe i da się wykonać tylko HTML'em. Osobiście takiego rozwiązania nie znalazłem i sięgłem po JS ale i tu mam pewne problemy. Otóż potrzebuje zrobić tabele dajmy z 2 komórkami w dwóch kolumanch

I otóż po kliknięcu w jedną komórke ma się zmienić jej kolor na np. czarny ale po ponownym klknięcu ma być spowrotem biały. Z pojedyńczą zmianą na czarny nie mam problemu ale jak zrobić aby potem ponownie po kliknięcu był biały?

Ten post edytował proton 27.05.2009, 16:39:54
Go to the top of the page
+Quote Post
pgrzelka
post
Post #2





Grupa: Zarejestrowani
Postów: 313
Pomógł: 24
Dołączył: 9.08.2008
Skąd: Kielce

Ostrzeżenie: (0%)
-----


w JS odczytujesz kolor komórki, jeśli jest biały to robisz czarny, jeśli czarny to robisz biały
Go to the top of the page
+Quote Post
bounty
post
Post #3





Grupa: Zarejestrowani
Postów: 68
Pomógł: 9
Dołączył: 12.04.2009
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


Kod
obj = twoja komórka (np document.getElementById('komórka'); )
obj.onclick = function(){
if(this.bgcolor=='white'){
this.bgcolor='black';
} else {
this.bgcolor='white';
}
}

coś takiego.
To pewnie nie działa ale użyj if.

Ten post edytował bounty 27.05.2009, 16:54:39
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Z pojedyńczą zmianą na czarny nie mam problemu ale jak zrobić aby potem ponownie po kliknięcu był biały?

Coś takiego:

Kod
var handle = document.getElementBy...

handle.onclick = function(){
  if(typeof(this.clicked)=='undefined'){
    this.clicked = false;
  }
  
  if(!this.clicked){
    this.style.background = '#000';
    this.clicked = true;
  }else{
    this.style.background = '';
    this.clicked = false;
  }
}

Pisane z palca. Możesz jeszcze pomodzić z get/setAttribute, ale myślę, że to zadziała.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 01:23