0
Hi, I’m trying to do a sidebar on a button, and I need this sidebar to appear where I click the button. But for some reason, this sidebar is climbing to the top of the screen.
Follows the code:
function openSlideMenu(){
document.getElementById('menu').style.width = '250px';
document.getElementById('content').style.marginRight = '250px';
}
function closeSlideMenu(){
document.getElementById('menu').style.width = '0';
document.getElementById('content').style.marginRight = '0';
}
@import url('https://fonts.googleapis.com/css?family=Alegreya+Sans:800');
body {
font-family: 'Alegreya Sans', sans-serif;
overflow-x: hidden;
}
.nav {
height: 100%;
width: 0;
position: fixed;
z-index: 1;
top: 0;
right: 0;
background-color: #111;
opacity: .9;
overflow-x: hidden;
padding-top: 60px;
transition: 0.7s;
}
.nav a {
display: block;
padding: 20px 30px;
font-size: 25px;
text-decoration: none;
color: #ccc;
}
.nav a:hover {
color: #fff;
transition: 0.4s;
}
.nav .close {
position: absolute;
top: 0;
right: 22px;
margin-left: 50px;
font-size: 30px
}
.slide a {
color: #000;
font-size: 36px;
}
#content {
padding: 20px;
transition: margin-left 0.7s;
overflow: hidden;
width: 100%;
}
<!DOCTYPE html>
<html>
<head>
<title>Responsive Animated Sidebar Menu</title>
<script defer src="https://use.fontawesome.com/releases/v5.0.7/js/all.js"></script>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div id="content">
<p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Explicabo aut exercitationem ratione perferendis provident quaerat, vitae magni soluta molestias, saepe at pariatur inventore minima distinctio neque! Ut ab facilis tempora.
Distinctio doloremque aperiam minima laudantium soluta alias quam quod impedit voluptatibus tenetur, voluptatum reiciendis corrupti quibusdam neque molestiae odio quae maxime perspiciatis voluptates ipsum fuga illum nulla eaque provident? Repellendus.
Asperiores dolore saepe natus totam placeat provident est molestias nemo, perspiciatis quis! Rerum adipisci, sint, nam eaque rem nemo et, minima voluptas quas illum dolor ipsam ullam beatae atque veritatis.
Cupiditate harum voluptate vero obcaecati iure odit aspernatur officia qui ratione quos quasi fugit minima saepe quia nulla, debitis deleniti dolorum vitae excepturi libero at dolore cumque. Nulla, quos provident.
Minima reprehenderit ullam ea sit velit mollitia culpa iste eum consequatur corrupti est odit, at, harum aliquam eius, voluptatem ad? Nemo veritatis consectetur fugit laudantium tempore quod nobis, nihil fugiat.
Non labore, minima quidem magni quas et architecto. Beatae asperiores ex odit quod quibusdam fugiat excepturi minus expedita cumque veniam ipsa hic velit, voluptatum dicta nobis accusamus. At, ex expedita.
Repellat atque numquam eveniet optio, velit praesentium suscipit ut placeat enim quos, veritatis facilis soluta dolores officia dolore sapiente expedita adipisci. Eos rem accusamus aliquam odit saepe iste expedita veritatis?
Voluptates ipsam corrupti quam assumenda natus necessitatibus inventore quasi velit maiores, iure voluptatibus, debitis quibusdam in tempora? Quis, maiores nemo iusto suscipit repudiandae eum in nesciunt asperiores molestiae eaque eius!
Est, tempora eos tempore nihil voluptatum alias in perferendis assumenda ipsum amet odit minima. Eius totam quia atque dolor quos minima aut perspiciatis aspernatur maxime, consequuntur dolorem, tenetur accusantium unde?
Et obcaecati expedita repellendus iste ipsum pariatur fugit assumenda tempore esse mollitia, tenetur commodi at ut provident accusamus sed vel quos rerum aliquid architecto quis. Ut exercitationem officiis temporibus error?
Perspiciatis amet itaque minima! Fuga delectus beatae dicta. Culpa dolorum dolores in voluptatibus delectus adipisci quisquam atque eius modi blanditiis dolore quibusdam quo aliquid dignissimos qui quas, repellat temporibus soluta?
Cum quibusdam porro debitis dolorem voluptate obcaecati ipsa cumque, voluptatum fugit culpa. Modi consequatur hic voluptatibus fuga aliquid et voluptas dolores laudantium quaerat recusandae culpa corporis, corrupti iure porro deserunt.
Doloremque sit iusto quam perspiciatis nihil dolorum, adipisci iure illo architecto deserunt at possimus. Iusto quos delectus odio impedit quidem, sint architecto corrupti non animi, perspiciatis reprehenderit aperiam enim laborum?
Explicabo, labore, cupiditate non dolor consequuntur deleniti similique iusto dicta, illum quas aliquam suscipit voluptates magnam provident deserunt ratione quibusdam enim mollitia porro voluptatum praesentium fuga! Minima exercitationem magni saepe.
Fugit unde consequatur iste tenetur veritatis quas facilis corporis quisquam aspernatur. Beatae, debitis ut minus aspernatur eum similique repellendus excepturi veritatis aperiam dicta numquam velit totam officiis soluta vitae nisi?
Veritatis reprehenderit rem, voluptate sint provident vel ullam, enim alias maxime in laborum sunt ad quam tempora perferendis? Doloribus totam deleniti aut blanditiis suscipit corporis dignissimos minima, recusandae dicta et!
Perspiciatis excepturi a sequi reprehenderit totam officia mollitia voluptates provident obcaecati explicabo similique quas nesciunt molestiae quasi, perferendis neque repellat dolores ea sint praesentium, officiis velit cum recusandae at. Tempora.
Corporis omnis commodi aut soluta eum provident laboriosam velit rem voluptatum aperiam suscipit eveniet libero voluptatem eos dolores ut iste amet, tempora molestiae vero. Minus laborum iure corporis. Debitis, voluptatum.
Facilis, dolorem! Praesentium exercitationem adipisci odit quod possimus mollitia nemo consequatur ducimus minima repellendus. Doloremque laboriosam, facilis quibusdam deserunt illo mollitia, fuga aperiam repudiandae eaque quis voluptatum dolor earum cum.
Expedita nam excepturi facere repellat tempora reprehenderit eius cupiditate, sequi dolore nostrum perspiciatis maxime iure assumenda aliquid id nisi ab reiciendis aspernatur quisquam repudiandae adipisci. Temporibus animi voluptates dolor neque.</p>
<div style="width: 200px; height: 700px; background-color: red; margin-bottom: 20px;"></div>
<span class="slide">
<a href="#" onclick="openSlideMenu()">
<i class="fas fa-bars"></i>
</a>
</span>
<div id="menu" class="nav">
<a href="#" class="close" onclick="closeSlideMenu()">
<i class="fas fa-times"></i>
</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Services</a>
<a href="#">Portfolio</a>
<a href="#">Contact</a>
</div>
</div>
</body>
</html>
You can also see what I’ve been doing on the codepen at: https://codepen.io/anon/pen/MNYNEJ
The sidebar goes up the moment I click the button below. I’d appreciate it if someone could help!