I am trying to replicate menu in this example: (click on settings menu item in video player controls)
I have made a quick and rough demo but I cannot get transition working, I would like not to involve javascript if possible.
settings_home menu should be visible on start, other menu will be hidden and should expand width and height.
var settings_home = $('.settings-home'),
playback_rate = $('.playback-rate-menu-holder')
settings_home.on('click',function(){
settings_home.hide();
playback_rate.show();
})
$('.sh-menu').on('click',function(){
settings_home.show();
playback_rate.hide();
})
.settings-holder {
position: absolute;
left: 0;
bottom: 0;
}
.settings-home ul{
margin:0;
padding:0;
}
.settings-holder-inner {
background-color: #ddd;
}
.settings-holder-inner {
overflow: hidden;
transition: height 1s cubic-bezier(.4, 0, .2, 1), width 1s cubic-bezier(.4, 0, .2, 1);
}
.menu-item {
position: relative;
white-space: nowrap;
height: auto;
text-align: center;
list-style-type: none;
text-transform: capitalize;
padding: 10px;
font-size: 13px;
line-height: 1;
color: #eee;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
cursor: pointer;
}
.settings-menu-item-value {
margin-left: 30px;
}
.menu-header {
padding: 10px;
font-size: 13px;
line-height: 1;
color: #555;
background: #f2f2f2;
padding: 9px 10px 9px 15px;
border-bottom: 1px solid #ddd;
cursor: pointer;
}
.menu-header span {
padding-left: 18px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.settings-menu .menu-item {
padding-left: 15px;
}
.settings-menu {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="settings-holder">
<div class="settings-holder-inner">
<div class="settings-home" >
<ul>
<li class="menu-item" data-target="playback-rate-menu"><span class="settings-menu-item-title">Speed</span><span class="settings-menu-item-value"></span></li>
</ul>
</div>
<div class="playback-rate-menu-holder settings-menu">
<div class="menu-header sh-menu">
<span>Speed Header</span>
</div>
<ul class="menu-holder">
<li class="menu-item" data-value="2">2.0x</li>
<li class="menu-item" data-value="1.5">1.5x</li>
<li class="menu-item" data-value="1.25">1.25x</li>
<li class="menu-item" data-value="1">Normal</li>
<li class="menu-item" data-value="0.5">0.5x</li>
<li class="menu-item" data-value="0.25">0.25x</li>
</ul>
</div>
</div>
</div>
auto
.... - Paulie_D