Skip to content Skip to sidebar Skip to footer

Creating Drop Down Page

I am after creating a drop down page like on my examples below: This is how I would like it to show when the arrow on the side is cliked. How would I make something like this and

Solution 1:

If you can use jquery you can play with hasClass, addClass and removeClass to change the height of the submenu

Working Demo.

$(".btn").click(function() {
  if ($(".menu").hasClass("dropped")) {
    $(".menu").removeClass("dropped");
  } else {
    $(".menu").addClass("dropped");
  }
});
.menu {
  height: 0;
  overflow: hidden;
  transition: all 0.5s ease 0s;
}

.dropped {
  height: inherit;
}
<scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script><buttonclass="btn">
  Dropdown
</button><divclass="menu"><p>Stufss...</p><p>Stufss...</p><p>Stufss...</p><p>Stufss...</p><p>Stufss...</p><p>Stufss...</p></div>

Solution 2:

With 3 div elements you can get a result like the one pictured. From the picture it looks like one div is wrapping around two other div elements, a div element that already has some information and a div element that will grow/shrink in size through appending/removing elements when the user presses the dropdown button.

Here is a working example:

var extraInformation = document.getElementById('infoLong');
var dropdown = document.getElementById('dropdown');

// The extra info that will be appended into the infoLong divvar someHeading = document.createElement('h4');
  someHeading.innerHTML = 'Detailed Game Information';
  someHeading.style.background = '#C58AC5';
var teamOneInfo = document.createElement('p');
  teamOneInfo.innerHTML = 'Team 1: Lost';
  teamOneInfo.style.background = '#FF516B';
var teamTwoInfo = document.createElement('p');
  teamTwoInfo.innerHTML = 'Team 2: Won';
  teamTwoInfo.style.background = '#3FBFBF';

// Should add more detailed information when the dropdown button// is pressed only if the infoLong div is empty
dropdown.addEventListener('click', function(){
  if(extraInformation.children.length === 0){
    extraInformation.appendChild(someHeading);
    extraInformation.appendChild(teamOneInfo);
    extraInformation.appendChild(teamTwoInfo);
  }else{
    while(extraInformation.firstChild){
      extraInformation.removeChild(extraInformation.firstChild);
    }
  }
});
#infoShort {
  background: #3FBFBF;
}

p {
  margin: 0;
}

h4 {
  margin: 0;
}
<divid='gameInfoContainer'><divid='infoShort'><h3>Game Summary</h3><buttonid='dropdown'>Dropdown</button></div><divid='infoLong'></div></div>

Post a Comment for "Creating Drop Down Page"