The idea is that x-coordinate of the mouse be tracked so when it goes within a certain threshold(250px) in this case to the left edge of the window it triggers the function "openNav", and closes it when the mouse leaves the 250px threshold.
I read a few forums and posts but can't seem to find much on how to use the ClientX function.The code below is just what I think how it should work, but it obviously doesn't. I would be delighted if anyone could give me some sort of idea or even example on how to execute the above.
Thank you in advance.
function openNav() {
document.getElementById("mySidenav").style.width = "250px";
document.getElementById("main").style.marginLeft = "250px";
}
function closeNav() {
document.getElementById("mySidenav").style.width = "0";
document.getElementById("main").style.marginLeft = "0";
}
var x = e.clientX;
for (x - 250 <= 0) {
openNav()
}
body {
font-family: "Lato", sans-serif;
}
.sidenav {
height: 100%;
width: 0;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: #111;
overflow-x: hidden;
transition: 0.5s;
padding-top: 60px;
}
.sidenav a {
padding: 8px 8px 8px 32px;
text-decoration: none;
font-size: 25px;
color: #818181;
display: block;
transition: 0.3s;
}
.sidenav a:hover {
color: #f1f1f1;
}
.sidenav .closebtn {
position: absolute;
top: 0;
right: 25px;
font-size: 36px;
margin-left: 50px;
}
#main {
transition: margin-left .5s;
padding: 16px;
}
@media screen and (max-height: 450px) {
.sidenav {
padding-top: 15px;
}
.sidenav a {
font-size: 18px;
}
}
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<a href="#">1</a>
<a href="#">2</a>
<a href="#">3</a>
<a href="#">4</a>
</div>
<div>
<button class="button open" onclick="openNav()">OPEN</button>
</div>
<div id="main">
<h2>Courses</h2>
</div>
eis not defined anywhere, you need an event handler in order to have an event and be able to read the mouse position. Also yourforloop has invalid syntax and it's not needed for the required functionality. You should use events to triggeropenNav()andcloseNav().