Ich versuche, eine Webseite zu erstellen, die 3 Leinwand hat. Die Leinwand sollte ihre Größe entsprechend dem Bildschirm ändern. Meine Methode funktioniert nur für eine Leinwand (die ich die ID angeben). Ich benutze die getElementByID die nur eine benötigt. Jede Zeichenfläche hat ihre eigene ID, aber denselben Klassennamen. Also habe ich getElementByClassName, aber es funktioniert nicht auf anderen Bildschirm. Die Größe bleibt die Standardgröße (die Größe in der Canvas-Tag) Dann versuchte ich querySelectorAll für alle IDs (weil es für 1 ID arbeitete), aber immer noch nicht funktioniert. Bitte, etwas Hilfe hier. Danke.Javascript, Responsive Design, Mehrere IDs
function setCanvas() {
// using % of viewport for canvas bitmap (pixel ratio not considered)
var canvas = document.querySelectorAll("#BgCanvas, #SnakeCanvas, #Angel_PowerBallCanvas")
, vwWidth = window.innerWidth
, vwHeight = window.innerHeight
, percent = 60;
canvas.width = Math.round(vwWidth * percent/100); // integer pixels
canvas.height = Math.round(vwHeight * percent/100);
// not to be confused with the style property which affects CSS, ie:
// canvas.style.width = "60%"; // CSS only, does not affect bitmap
}
'querySelectorAll' a * Sammlung * gibt (ein Array), müssen Sie eine Schleife verwenden! – Bergi