CSS3动画旋转方向 - 选择框
问题描述:
我想我的自定义选择框给旋转方向,即应该在完成一转或完整的周期。如果打开,它应顺时针方向顺时针旋转。CSS3动画旋转方向 - 选择框
这是我曾尝试: http://codepen.io/iahmad/pen/qNvaQr
方向永远是这样http://image.flaticon.com/icons/png/128/120/120869.png
答
通过简单的交替给你的jQuery脚本,您可以通过以下逻辑达到你想要的效果:
- img的默认状态为0轮转
- On cl ick,应用增加180度旋转的类
open
。 - 当再次点击,另一类添加
.turn
从而完成旋转周期到360度。 - 当
turn
结束过渡(1秒后),除去所有的类,以旋转恢复到0,但是从360到0的过渡将是有问题的,因此要避免这一点,我们暂时禁用过渡,并在下次重新恢复它单击。
演示:
$(function(){
$('a').on('click', function(){
var el = $(this);
if (!el.hasClass('open')) {
el.children('img').attr('style','');
el.addClass('open');
} else {
el.removeClass('open').addClass('turn');
setTimeout(function(){
\t el.children('img').attr('style','transition: none');
el.removeClass('turn');
}, 1000);
}
});
});
a img { transition: all 1s ease; }
a.open img { transform: rotate(180deg); }
a.turn img { transform: rotate(360deg); }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#"><img src="http://image.flaticon.com/icons/png/128/118/118738.png"></a>
的jsfiddle:https://jsfiddle.net/azizn/zcnatgxq/
可能是有益的补充,如果用户中断中间的动画,这导致了一些怪事。 –