Forum » Izdelava spletišč » javascript tabela
javascript tabela
bigbada ::
Lp
Zanima me kako naj z javascriptom naredim 10x10 tabelo, kjer boš lahko posamezne celice klikal (da ne bodo samo narisane) ? Ali moram vsako posebaj imeti kot svoj div ? Ni mi najbolj jasno kako bi to izvedel ? Ker imam trenutno napisano funkcijo, da recimo kliknem na rdeči button in se mi ta barva shrani, potem pa bi kliknil na eno izmed celic v tej tabeli, da se mi obarva.
Nekaj takega imam v mislih:
Trenutna koda, kjer si izberem barvo. Rad bi pa zdaj še, da mi spodaj izrise teh 10x10 celic, da jih potem lahko obarvam. Prosim za pomoč.
Zanima me kako naj z javascriptom naredim 10x10 tabelo, kjer boš lahko posamezne celice klikal (da ne bodo samo narisane) ? Ali moram vsako posebaj imeti kot svoj div ? Ni mi najbolj jasno kako bi to izvedel ? Ker imam trenutno napisano funkcijo, da recimo kliknem na rdeči button in se mi ta barva shrani, potem pa bi kliknil na eno izmed celic v tej tabeli, da se mi obarva.
Nekaj takega imam v mislih:
Trenutna koda, kjer si izberem barvo. Rad bi pa zdaj še, da mi spodaj izrise teh 10x10 celic, da jih potem lahko obarvam. Prosim za pomoč.
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
div#choices {
position: relative;
height: 62px; width: 450px;
border: solid black 2px;
}
div#choices div {
position: absolute;
height: 50px; width: 50px;
border: solid black 2px;
margin: 4px;
}
div#theChoice {
position: relative;
height: 50px; width: 400px;
border: solid black 2px;
}
</style>
</head>
<body>
Test
<br/><br/>
<div id="choices">
<div style="background-color: #000;"></div>
<div style="background-color: #444;"></div>
<div style="background-color: #666;"></div>
<div style="background-color: #888;"></div>
<div style="background-color: #AAA;"></div>
<div style="background-color: #CCC;"></div>
<div style="background-color: #EEE;"></div>
<div style="background-color: #FFF;"></div>
</div>
<br/><br/>
Moja barva:
<div id="theChoice"></div>
<script type="text/javascript">
(
function( )
{
var divs = document.getElementById("choices").getElementsByTagName("div");
for ( var d = 0; d < divs.length; ++d )
{
var div = divs[d];
div.style.left = ( d * 55 ) + "px";
div.onclick = pickThis;
}
divs[divs.length-1].style.borderColor = "red";
function pickThis( )
{
document.getElementById("theChoice").style.backgroundColor =
this.style.backgroundColor;
for ( var d = 0; d < divs.length; ++d )
{
divs[d].style.borderColor = "black";
}
this.style.borderColor = "red";
}
}
)();
</script>
</body>
</html> galu ::
Jaz sem podobno stvar delal z "nested for loopom" v for loopu.
10*(10 divov v vrstici, potem pa /br)
10*(10 divov v vrstici, potem pa /br)
Tako to gre.
Vredno ogleda ...
| Tema | Ogledi | Zadnje sporočilo | |
|---|---|---|---|
| Tema | Ogledi | Zadnje sporočilo | |
| ! | Vse, kar ste si želeli vprašati o CSS, pa si niste upali. (strani: 1 2 3 4 … 23 24 25 26 )Oddelek: Izdelava spletišč | 368235 (27372) | sunniegoldie |
| » | JqueryOddelek: Izdelava spletišč | 1961 (1685) | mk818764 |
| » | poravnava li elementovOddelek: Izdelava spletišč | 2370 (2235) | boss-tech |
| » | Wampserver in FirefoxOddelek: Izdelava spletišč | 2043 (1923) | jonystar |
| » | Kako se tole naredi?Oddelek: Izdelava spletišč | 1613 (1313) | njok |
