Если вы хотите передать свойство left
, вы не можете использовать show()
и hide()
.Просто установите свойство left
в JavaScript.
$(document).ready(function() {
$(".openUserEditBox").on("click", function() {
$(".user-drawer")[0].style.left = '0';
});
$(".closeUserEditBox").on("click", function() {
$(".user-drawer")[0].style.left = '602px';
});
});
.userForm {
overflow-x: hidden;
}
.user-drawer {
position: relative;
width: 600px;
background-color: #f2f2f2;
border: 1px solid #bbbbbb;
min-height: 450px;
margin-left:auto;
left: 602px;
transition:left 1s;
}
.btn-default {
background-color: #fff;
padding: 10px;
border: 1px solid #bbbbbb;
width: 150px;
}
.btngroup {
text-align:right;
margin:8px 0;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="btngroup">
<button class="btn-default openUserEditBox">Show Drawer</button>
<button class="btn-default closeUserEditBox">Hide Drawer</button>
</div>
<div class="userForm">
<div class="user-drawer">
<div class="user-menu">
<h1>Edit User</h1>
</div>
</div>
</div>
Обратите внимание, что я обошелся без поплавков, так как они помешали overflow
в пользовательской форме.Надеюсь, что он все еще пригоден для использования в его нынешнем виде.