Zdravím, mám tento .html soubor:
„<!DOCTYPE html>
<html lang="cs-CZ“>
<head>
<title>Editor tabulek</title>
<meta charset=„utf-8“ />
<script src=„editor-tabulek.js“></script>
<link href=„editor-tabulek.css“ rel=„stylesheet“ />
if (1 == ‚1‘)
document.write(‚Rovnost hodnotou.‘);
if (1 === ‚1‘)
document.write(‚Rovnost hodnotou a typem.‘);
</head>
<body>
</body>
</html>
" a sice ten „editor buněk“ v řádcích a ve sloupcích mi funguje
dobře, ale špatně funguje to porovnávání „Rovnost hodnotou. &
Rovnost hodnotou a typem.“. V čem může být problém? Hodí mi to
jen toto:
Zajímavá 0 před 1129 dny |
Sledovat
Nahlásit
|
Javascriptový kód vložený do HTML souboru by měl být mezi tagy:
<script type=„text/javascript“>
</script>
0
před 1129 dny
|
0 Nominace Nahlásit |
Tady je ten .js soubor, pro přehlednost zvlášť…
let tabulka;
let vychoziVelikostX = 5;
let vychoziVelikostY = 3;
let aktivniBunka;
function vytvorVychoziTabulku() {
tabulka = document.createElement(„table“);
document.body.appendChild(tabulka);
for (let y = 0; y < vychoziVelikostY; y++) {
let tr = document.createElement(„tr“);
tabulka.appendChild(tr);
for (let x = 0; x < vychoziVelikostX; x++) {
tr.appendChild(vytvorBunku());
}
}
}
function vytvorOvladaciTlacitka() {
vytvorTlacitkoAVlozHo(„Přidat řádek dolů“, document.body).onclick =
pridejRadekDolu;
vytvorTlacitkoAVlozHo(„Přidat řádek nahoru“, document.body).onclick =
pridejRadekNahoru;
vytvorTlacitkoAVlozHo(„Přidat sloupec vlevo“, document.body).onclick =
pridejSloupecDoleva;
vytvorTlacitkoAVlozHo(„Přidat sloupec vpravo“, document.body).onclick =
pridejSloupecDoprava;
vytvorTlacitkoAVlozHo(„Odstranit řádek“, document.body).onclick =
smazRadek;
vytvorTlacitkoAVlozHo(„Odstranit sloupec“, document.body).onclick =
smazSloupec;
}
function vytvorBunku() {
let td = document.createElement(„td“);
let tdInput = document.createElement(„input“);
tdInput.type = „text“;
tdInput.onfocus = function () {
aktivniBunka = this;
}
td.appendChild(tdInput);
return td;
}
function vytvorRadek() {
let novyRadek = document.createElement(„tr“);
let prvniRadek = tabulka.firstElementChild;
let bunkyPrvnihoRadku = prvniRadek.childNodes;
let pocetBunekVPrvnimRadku = bunkyPrvnihoRadku.length;
/*
* table = <TABLE>
* table.firstElementChild = <TR>
* table.firstElementChild.childNodes = [<TD>]
* table.firstElementChild.childNodes.length = number
*
* table. firstElementChild. childNodes .length
* <TABLE>. <TR>. [<TD>] .length
*/
for (let i = 0; i < pocetBunekVPrvnimRadku; i++) {
novyRadek.appendChild(vytvorBunku());
}
return novyRadek;
}
function vytvorTlacitkoAVlozHo(popisek, rodic) {
let btn = document.createElement(„button“);
btn.textContent = popisek;
rodic.appendChild(btn);
return btn;
}
function indexRadkuAktivniBunky() {
let cilHledani = tabulka.childNodes;
let hledanyPrvek = aktivniBunka.parentElement.parentElement;
return Array.prototype.indexOf.call(cilHledani, hledanyPrvek);
}
function indexSloupceAktivniBunky() {
let bunkyVRadku = aktivniBunka.parentElement.parentElement.childNodes;
let td = aktivniBunka.parentElement;
return Array.prototype.indexOf.call(bunkyVRadku, td);
}
function pridejRadekNahoru() {
let radek = vytvorRadek();
let indexVybraneho = indexRadkuAktivniBunky();
tabulka.insertBefore(radek, tabulka.childNodes[indexVybraneho]);
}
function pridejRadekDolu() {
let radek = vytvorRadek();
let indexVybraneho = indexRadkuAktivniBunky();
if (tabulka.lastChild == tabulka.childNodes[indexVybraneho]) {
tabulka.appendChild(radek);
} else {
tabulka.insertBefore(radek, tabulka.childNodes[indexVybraneho + 1]);
}
}
function pridejSloupecDoleva() {
let indexVybraneho = indexSloupceAktivniBunky();
for (let i = 0; i < tabulka.childNodes.length; i++) {
tabulka.childNodes[i].insertBefore(vytvorBunku(),
tabulka.childNodes[i].childNodes[indexVybraneho]);
}
}
function pridejSloupecDoprava() {
let indexVybraneho = indexSloupceAktivniBunky();
for (let i = 0; i < tabulka.childNodes.length; i++) {
if (tabulka.childNodes[i].childNodes[indexVybraneho] ==
tabulka.childNodes[i].lastElementChild) {
tabulka.childNodes[i].appendChild(vytvorBunku());
} else {
tabulka.childNodes[i].insertBefore(vytvorBunku(),
tabulka.childNodes[i].childNodes[indexVybraneho + 1]);
}
}
}
function smazRadek() {
let indexVybraneho = indexRadkuAktivniBunky();
tabulka.removeChild(tabulka.childNodes[indexVybraneho]);
}
function smazSloupec() {
let indexVybraneho = indexSloupceAktivniBunky();
for (let i = 0; i < tabulka.childNodes.length; i++) {
tabulka.childNodes[i].removeChild(tabulka.childNodes[i].childNodes[indexVybraneho]);
}
}
window.onload = function () {
vytvorOvladaciTlacitka();
vytvorVychoziTabulku();
}
Bedy | 1528 | |
Michal Kole | 1199 | |
led | 1159 | |
Hlada | 1132 | |
mosoj | 1124 | |
gecco | 904 | |
www | 828 | |
badisko | 817 | |
cochee | 814 | |
Dochy | 727 |
Software |
Hardware |
Internet |
Programování a webdesign |
Sítě |
Bezpečnost |
Ostatní počítače a internet |