Jquery 转换动画不工作
Jquery animation of transform not working
我想要一个div点击按钮时从右边滑入,点击关闭按钮时应该向后滑动隐藏。我想使用 animation()
方法,但它似乎不起作用。
这是我目前得到的:
$('.cart-panel').css({
'display': 'none',
'transform' : 'translate(100%, 0%) matrix(1, 0, 0, 1, 0, 0)'
});
$('.cart-btn').on('click', function(){
$('.cart-panel').stop().animate({
"display": 'block',
"transform" : 'matrix(1, 0, 0, 1, 0, 0);'
}, 300);
});
有什么我遗漏的吗?当我点击 cart-btn
时完全没有任何反应。
您应该为您的购物车面板设置一个单独的 "visible" class 来做到这一点,它定义了它在可见时的外观。
在此之后,您可以通过简单地切换 "visible" class:
来设置动画 in/out
$('#button').on('click', function() {
$('.cart-panel').toggleClass('visible');
});
.container {
width: 300px;
height: 300px;
background: gray;
}
.cart-panel {
width: 100px;
height: 100px;
background: red;
position: relative;
right: -100%;
transition: all 0.5s ease;
}
.cart-panel.visible {
right: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<button id="button">Toggle</button>
<div class="cart-panel">
</div>
</div>
我想要一个div点击按钮时从右边滑入,点击关闭按钮时应该向后滑动隐藏。我想使用 animation()
方法,但它似乎不起作用。
这是我目前得到的:
$('.cart-panel').css({
'display': 'none',
'transform' : 'translate(100%, 0%) matrix(1, 0, 0, 1, 0, 0)'
});
$('.cart-btn').on('click', function(){
$('.cart-panel').stop().animate({
"display": 'block',
"transform" : 'matrix(1, 0, 0, 1, 0, 0);'
}, 300);
});
有什么我遗漏的吗?当我点击 cart-btn
时完全没有任何反应。
您应该为您的购物车面板设置一个单独的 "visible" class 来做到这一点,它定义了它在可见时的外观。
在此之后,您可以通过简单地切换 "visible" class:
来设置动画 in/out$('#button').on('click', function() {
$('.cart-panel').toggleClass('visible');
});
.container {
width: 300px;
height: 300px;
background: gray;
}
.cart-panel {
width: 100px;
height: 100px;
background: red;
position: relative;
right: -100%;
transition: all 0.5s ease;
}
.cart-panel.visible {
right: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<button id="button">Toggle</button>
<div class="cart-panel">
</div>
</div>