В зависимости от вашей целевой аудитории я бы не полагался на javaScript, но css для таких простых анимаций. Просто переключить класс по меню, например, так:
$(".menu span").click(function() {
$(".menu").toggleClass('open');
})
И чем делать все волшебство в CSS:
body {
margin: 0;
background-color: #bada55;
}
.main {
padding: 20px;
}
.menu {
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: pink;
/* Move the menu off screen, adjust if you want that menu bar to be visible at all times */
transform: translate(-100%, 0);
transition: transform 0.5s;
}
.menu span {
position: absolute;
display: inline-block;
top: 0;
left: 100%;
background: white;
width: 20px;
height: 20px;
}
.menu.open {
transform: translate(0, 0); /* Move the menu to the desired place */
}
.menu.open span {
/* Reposition the toggle element */
right: 0;
left: auto;
}
Смотрите пример на codepen.
Я использую transform: translate(-100%, 0);
и transform: translate(-100%, 0);
, потому что он работает лучше, но вы можете использовать position
, а также получить поддержку для старых браузеров (они не получат переход, хотя).
Для получения информации о поддержке браузера см. caniuse.
вы можете создать собственный аниматор, используя setInterval(). вам нужно увеличить левую часть div с интервалом до максимальной и тихой визы. – KyawLay
вот моя обновленная версия [jsfiddle link] (http://jsfiddle.net/jk1j6c4k/6/) вы можете настроить скорость ofanimation с значениями увеличения/уменьшения и интервала таймера – KyawLay