Je suis assez nouveau sur javascript et je souhaite coder un en-tête de site HTML. JS: lorsque la largeur de la fenêtre est inférieure à 1215px -> la partie gauche atteint 100% de la largeur; partie droite de l'en-tête à 0
J'ai toujours le "Impossible de lire la propriété 'setAttribute' de null" Erreur!
S'il vous plaît, aidez! Code:
if (window.innerWidth < 1215) {
document.getElementById("#headerLeft").setAttribute("style", "width:100%");
document.getElementById("#headerRight").setAttribute("style", "width:0%");
} else {
document.getElementById("#headerLeft").setAttribute("style", "width:50%");
document.getElementById("#headerRight").setAttribute("style", "width:50%");
}
body {
margin:0;
}
header{
height:100px;
width:100%;
}
#headerLeft {
background-color:#FF7043;
height:100px;
float:left;
}
#headerRight {
background-color:#FFFFFF;
height:100px;
float:right;
}
.headerTitle {
font-family:'Roboto', sans-serif;
margin:15px;
font-size:70px;
}
#headerRight .headerTitle {
text-align:left;
color:#FF7043;
font-weight:300;
}
#headerLeft .headerTitle {
text-align:center;
color:#FFFFFF;
font-weight:900;
}
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>example</title>
<!-- css -->
<link type="text/css" rel="stylesheet" href="style.css">
<!-- fonts -->
<link href='https://fonts.googleapis.com/css?family=Roboto:400,500,700,900,100,300' rel='stylesheet' type='text/css'>
<!-- javascripts -->
<script language="javascript" type="text/javascript" src="script.js"></script>
</head>
<body>
<header>
<div id="headerLeft">
<p class="headerTitle">example</p>
</div>
<div id="headerRight">
<p class="headerTitle">example</p>
</div>
</header>
<nav>
</nav>
<main>
</main>
<footer>
</footer>
</body>
</html>
C'est parce que tous vos appels à document.getElementById
ne trouvent rien car il n'y a aucun élément avec ces identifiants. Ressemble aux habitudes de jQuery en jeu, supprimez le #
de vos identifiants.
Dans un premier temps, effectuez la sélection par ID sans '#' .
document.getElementById('').style.width = "20%";