Wie kann man Gitterquadrate dazu bringen, die Farbe zu ändern?

shar27

Ich bin noch ein Anfänger und versuche zu verstehen, wie ich die Rasterfarben für mein Etch-a-Sketch-Projekt ändern kann. Eine Anleitung wäre wunderbar.

Ich kann die Farbe des Hintergrunds der Seite ändern, ich kann auch die Farbe des Rasterrahmens ändern, jedoch nicht die Lücke zwischen den Rastern. Ich kann auch nicht trainieren, wie man eine Spur hinterlässt. CSS erlaubt nur Animation und Hover, was keine dauerhafte Spur hinterlässt. Also, ich kenne eine Funktion, die den Wert speichert.

Kann mir bitte jemand hervorheben, welcher Teil meines Codes falsch ist und warum er falsch ist und wenn Sie eine Online-Ressource haben, die ich lesen kann, damit ich die Funktion zum Hinterlassen einer Spur und zum Ändern der Farbe in jedem Raster erstellen kann, wäre ich für immer dankbar .

Hier ist mein Code:

//first div
let container = document.createElement('div')
container.setAttribute('id', 'container');
container.classList.add("grid");
document.body.appendChild(container);



//second div

let containerGrid = document.createElement('div')
containerGrid.setAttribute('id', 'containerGrid');
containerGrid.classList.add("grids");
document.body.appendChild(containerGrid);

//button div
let buttonDiv = document.createElement('div')
buttonDiv.setAttribute('id', 'button');
buttonDiv.classList.add("button");
document.body.appendChild(buttonDiv);


//buttons//

const eraserButton = document.createElement('button');
eraserButton.textContent ="Eraser";
eraserButton.classList.add ("Eraser")
eraserButton.setAttribute('id', 'Eraser');
const clearButton = document.createElement('button');
clearButton.classList.add ("Clear")

clearButton.setAttribute('id', 'Clear');
clearButton.textContent ="Clear";

buttonDiv.appendChild(eraserButton);
buttonDiv.appendChild(clearButton);

//hover color event

function random (number) {
  return Math.floor(Math.random() * (number +1));
}

const input = document.querySelectorAll('#col');

function rainbowColor () {
    const rndCol= 'rgb(' + random(255) + ',' + random(255) +',' + random (255) + ')';
containerGrid.col.style.BackgroundColor = rndCol;

}

input.onmouseover = (rainbowColor);

/*
const inputOne = document.querySelector('#color-picker');
inputOne.addEventListener('mouseover', e => {
    e.target.classList.add = ('color-picker');

});


const inputTwo = document.querySelector('#black-pick');
inputTwo.addEventListener('mouseover', e =>  {
    e.target.classList.add = ('black-pick');
});
*/
const btn = document.querySelector('#Eraser');
btn.addEventListener('click', function (e) {
    console.log(e);
});

const btnTwo = document.querySelector('#Clear');
btn.addEventListener('click', function (e) {
   console.log(e);
});

//make grid 16*16

function makeCols (col) {
    for (let i = 0; i < 16; i++) {
        const colDivs = document.createElement('div');
        colDivs.setAttribute('id', 'col');
        colDivs.classList.add('cols');
        colDivs.textContent ="";
        colDivs.style.border = ('solid');
        colDivs.style.display= ('grid');
        colDivs.style.padding = ('5px');
        containerGrid.appendChild(colDivs);
    }
}
makeCols (16);

function makeRows (rows) {
    for (let j = 0; j < 16; j++) {
        const rowDivs = document.createElement('div');
        rowDivs.setAttribute('id', 'rows');
        rowDivs.classList.add('rows');
        rowDivs.style.border = ('solid');
        rowDivs.style.display= ('grid');
        rowDivs.style.padding = ('5px');
               containerGrid.appendChild(rowDivs);
    }
}
makeCols (16);
makeRows(16);
.grid {

width:500px;

}

.grids {

    display: grid;
    justify-content:center;
    align-items:center;
    grid-template-columns: repeat(8,1fr);
    grid-auto-rows:repeat(8, 1fr);
    padding: 50px 50px;
    margin-left:150px;
    height:100px;
    width:200px;
 }

.rows {
    height:10px;
    width:10px;
    grid-column-gap:10px;

}
.cols {
    height:10px;
    width:10px;
}

.palette.cols:hover {
   background-color:rrggbb; 
}


.col {
    background-color:black;
}

.rows {
    background-color: red, black, blue, yellow, purple, green;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Etch-a-Sketch</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>

    <div id ="color-picker" class = "palette">
        <input type="color" name="Rainbow" id="rainbow-colors" value= "#e66465">
        <label for="Rainbow">Rainbow</label>
    </div>
        
    <div id = "black-pick" class = "black-color">
        <input type="color" name="Black" id="black-color" value="#rrggbb">
        <label for="Black">Black</label>
    </div>
    <script src="app.js"></script>
</body>
</html>

Peter Krebs

In wenigen Schritten behoben

  1. Weisen Sie zu, onmouseover nachdem Sie die HTML-Elemente erstellt haben.
  2. onmouseoverVerwenden Sie im Handler den Ereignisparameter, um das Element abzurufen
  3. Du hattest einen Tippfehler in der Hintergrundfarbe, es ist backgroundColor, Kleinbuchstabe first
  4. Ich habe die IDs eindeutig gemacht
  5. Ich habe den Selektor Ihres onmouseover-Handlers auf . geändert .cols
  6. Gefundene Elemente durchlaufen und onmouseover-Handler zuweisen

Für alles andere siehe Snippet unten.

//first div
let container = document.createElement('div')
container.setAttribute('id', 'container');
container.classList.add("grid");
document.body.appendChild(container);



//second div

let containerGrid = document.createElement('div')
containerGrid.setAttribute('id', 'containerGrid');
containerGrid.classList.add("grids");
document.body.appendChild(containerGrid);

//button div
let buttonDiv = document.createElement('div')
buttonDiv.setAttribute('id', 'button');
buttonDiv.classList.add("button");
document.body.appendChild(buttonDiv);


//buttons//

const eraserButton = document.createElement('button');
eraserButton.textContent ="Eraser";
eraserButton.classList.add ("Eraser")
eraserButton.setAttribute('id', 'Eraser');
const clearButton = document.createElement('button');
clearButton.classList.add ("Clear")

clearButton.setAttribute('id', 'Clear');
clearButton.textContent ="Clear";

buttonDiv.appendChild(eraserButton);
buttonDiv.appendChild(clearButton);

//hover color event

function random (number) {
  return Math.floor(Math.random() * (number +1));
}

function rainbowColor (e) {
    const rndCol= 'rgb(' + random(255) + ',' + random(255) +',' + random(255) + ')';
    e.target.style.backgroundColor = rndCol;
}

/*
const inputOne = document.querySelector('#color-picker');
inputOne.addEventListener('mouseover', e => {
    e.target.classList.add = ('color-picker');

});


const inputTwo = document.querySelector('#black-pick');
inputTwo.addEventListener('mouseover', e =>  {
    e.target.classList.add = ('black-pick');
});
*/
const btn = document.querySelector('#Eraser');
btn.addEventListener('click', function (e) {
    console.log(e);
});

const btnTwo = document.querySelector('#Clear');
btn.addEventListener('click', function (e) {
   console.log(e);
});

//make grid 16*16

function makeCols (col) {
    for (let i = 0; i < 16; i++) {
        const colDivs = document.createElement('div');
        colDivs.setAttribute('id', 'col' + i);
        colDivs.classList.add('cols');
        colDivs.textContent ="";
        colDivs.style.border = ('solid');
        colDivs.style.display= ('grid');
        colDivs.style.padding = ('5px');
        containerGrid.appendChild(colDivs);
    }
}
makeCols (16);

function makeRows (rows) {
    for (let j = 0; j < 16; j++) {
        const rowDivs = document.createElement('div');
        rowDivs.setAttribute('id', 'row' + j);
        rowDivs.classList.add('rows');
        rowDivs.style.border = ('solid');
        rowDivs.style.display= ('grid');
        rowDivs.style.padding = ('5px');
               containerGrid.appendChild(rowDivs);
    }
}

makeCols(16);
makeRows(16);

var inputs = document.querySelectorAll('.cols');
for(var k=0; k<inputs.length; k++) {
    inputs[k].onmouseover = rainbowColor;
}
.grid {

width:500px;

}

.grids {

    display: grid;
    justify-content:center;
    align-items:center;
    grid-template-columns: repeat(8,1fr);
    grid-auto-rows:repeat(8, 1fr);
    padding: 50px 50px;
    margin-left:150px;
    height:100px;
    width:200px;
 }

.rows {
    height:10px;
    width:10px;
    grid-column-gap:10px;

}
.cols {
    height:10px;
    width:10px;
}

.palette.cols:hover {
   background-color:rrggbb; 
}


.col {
    background-color:black;
}

.rows {
    background-color: red, black, blue, yellow, purple, green;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Etch-a-Sketch</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>

    <div id ="color-picker" class = "palette">
        <input type="color" name="Rainbow" id="rainbow-colors" value= "#e66465">
        <label for="Rainbow">Rainbow</label>
    </div>
        
    <div id = "black-pick" class = "black-color">
        <input type="color" name="Black" id="black-color" value="#rrggbb">
        <label for="Black">Black</label>
    </div>
    <script src="app.js"></script>
</body>
</html>

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Wie kann man Jade dazu bringen, die CSS-Datei zu laden? (Es funktioniert nicht)

Wie kann man Java dazu bringen, Felder in der Superklasse zu erkennen? nicht nur die eigentliche Klasse

Wie kann ich meine Javascript-Funktion dazu bringen, die Farbe meines Textes zu ändern?

Wie kann man "wc -l" dazu bringen, nur die Anzahl der Zeilen ohne Dateinamen zu drucken?

Wie kann man Bildschirmleser dazu bringen, die gesamte Seite zu lesen, wenn sich der Winkel ändert?

Wie kann ich Octave dazu bringen, die Variablen in meinen Eingabedateien zu ändern?

Wie kann man die neue NavigationView dazu bringen, mit Statusleisten-Scrim gut zu spielen?

Wie kann man die ggplot2-Achse dazu bringen, bei variablen Werten zu brechen?

Gnuplot: Wie kann man Gnuplot dazu bringen, die leere Spalte weiter zu zählen?

Wie kann man img src dazu bringen, sich zu ändern, indem man die ID vom Array erhält?

Wie kann man ein Spielobjekt dazu bringen, die Positionen anderer Spielobjekte zu lokalisieren und ihre Farbe zu bestimmen?

Wie kann ich Shiny setInputValue dazu bringen, die Dropdown-Auswahl zu ändern?

Wie kann man JavaScript dazu bringen, Zeichenfolgen zu ändern, wenn sie mit einer anderen Zeichenfolge übereinstimmen?

Wie kann man die Create-React-App dazu bringen, npm anstelle von Garn zu verwenden?

Wie kann ich meinen Pfeil dazu bringen, seine Farbe zu ändern, indem ich innerhalb eines Div schwebe?

Wie kann man Row dazu bringen, in Flutter die volle Größe seiner Kinder zu erreichen?

Wie kann man Tidyrs vollständig dazu bringen, mit einer Variablen zu arbeiten, die Spalten angibt?

Wie kann ich meine Diashow dazu bringen, die Größe nicht mehr zu ändern?

Wie kann man eine CSV-Datei dazu bringen, die Zeilen entsprechend zu teilen?

Wie kann man die Android App dazu bringen, das Eddystone-Signal zu erkennen?

Wie kann man die Dropdown-Liste Combobox dazu bringen, ihre Liste entsprechend einer anderen Combobox zu ändern?

Wie kann man UILabel dazu bringen, die Größe besser zu ändern?

Wie kann man SWRevealViewController dazu bringen, die Hauptansicht abzudecken, ohne sie zu verschieben?

Wie kann man Halogenid dazu bringen, die Schiebefensteroptimierung zu verwenden?

Wie kann man Gruppen von horizontalen Balken dazu bringen, dieselbe Farbe zu haben?

Wie kann man Python dazu bringen, Variablen zu erstellen, ohne dass der Benutzer die Variablen erstellt?

Wie kann man PhpStorm dazu bringen, die Schriftart in der Debug-Konsole zu ändern?

Wie kann man einen Tkinter-Button dazu bringen, sein eigenes Textattribut zu ändern?

Wie kann man Stile dazu bringen, externe Paketstile nicht zu ändern?

TOP Liste

  1. 1

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  2. 2

    Eclipse Oxygen - Projekte verschwinden

  3. 3

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  4. 4

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  5. 5

    Wie kann ich den Kaskadenmodus global einstellen?

  6. 6

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  7. 7

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  8. 8

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  9. 9

    Modbus Python Schneider PM5300

  10. 10

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  11. 11

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  12. 12

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  13. 13

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  14. 14

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  15. 15

    Wie kann ich meine Tabelle abfragen, um sie in mySQL nach 2 Feldern zu gruppieren?

  16. 16

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

  17. 17

    ElasticSeach Auto Complete mit dem Vervollständigungsvorschlag, um das vollständige Dokument zurückzugeben

  18. 18

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  19. 19

    Wie wählt man Unterschiede mit drei Tabellen aus?

  20. 20

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  21. 21

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

heißlabel

Archiv