我是jQuery和JavaScript的新手,通过在下一张幻灯片上添加和删除类“active”来制作一个简单的滑块,它工作正常,但看起来很丑,因为没有动画。有没有什么方法可以使添加和删除类的过程动画化?比如:
$('#next').on('click', function(){
$('div.active').removeClass('active', duration: 500ms).next().addClass('active', duration: 500ms);})
在Jquery documentation website中,我看到有一个animate函数,用于动画事物。在我的情况下可以使用这个功能吗?
更新:我还尝试在div和div.active上应用CSS过渡,但不起作用。
CSS:
.slider div {
display: none;
opacity: 0;
-webkit-transition: opacity 1s ease-in-out;
-moz-transition: opacity 1s ease-in-out;
-ms-transition: opacity 1s ease-in-out;
-o-transition: opacity 1s ease-in-out;
transition: opacity 1s ease-in-out;
}
div.active {
display: inline-block;
opacity: 1;
-webkit-transition: opacity 1s ease-in-out;
-moz-transition: opacity 1s ease-in-out;
-ms-transition: opacity 1s ease-in-out;
-o-transition: opacity 1s ease-in-out;
transition: opacity 1s ease-in-out;
}
5条答案
按热度按时间9gm1akwq1#
从不同用户的评论中,我知道css转换不能应用于
display: none
元素。因此,我应用了height 0px; opacity: 0;
而不是display none,这对我来说很好。感谢this fiddle的创建者给了我这个想法。
vddsk6oq2#
hmtdttj43#
你不能真正的动画addClass或removeClass,但你可以添加一个过渡
你可以使用CSS:
vyu0f0g14#
在您的示例中,可以使用过渡https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions来代替动画
dba5bblo5#
添加动画类:
删除动画类:
样式表:
参考:https://www.w3schools.com/howto/howto_css_shake_image.asp