我有一条以圆周运动旋转的红线(从左到右,顺时针但从左下角开始)。它是正常的,但是当红色变为白色时应该有一个很好的淡化效果。目前情况并非如此。
参见附图:下面是我想要实现的目标。
当前轮换的代码是:
function drawcmitimer(percent){
$('div.cmitimer').html('<div class="percent"></div><div id="slice"'+(percent > 50?' class="gt50"':'')+'><div class="pie"></div>'+(percent > 50?'<div class="pie fill"></div>':'')+'</div>');
var deg = 360/100*percent;
$('#slice .pie').css({
'-moz-transform':'rotate('+deg+'deg)',
'-webkit-transform':'rotate('+deg+'deg)',
'-o-transform':'rotate('+deg+'deg)',
'transform':'rotate('+deg+'deg)'
});
}
如果我在上面的display: none
添加.css
,然后在最后添加.fadeIn(1000, 1)
,则没有任何内容会中断,并且相同的行为会继续(即没有淡入淡出)。
为了做一个测试,我只是尝试了一个'更简单的'fadeOut
:
$('#slice .pie').css({
'-moz-transform':'rotate('+deg+'deg)',
'-webkit-transform':'rotate('+deg+'deg)',
'-o-transform':'rotate('+deg+'deg)',
'transform':'rotate('+deg+'deg)'
}).fadeOut("fast");
我注意到的是红线一直在周围,大约十秒后整个红色圆圈都会淡出。
这个代码共享显示整个JS文件给你一个想法,只是不想粘贴整个事情:http://codeshare.io/b1lPX
有关如何在红线上获得淡入淡出效果的任何输入都表示赞赏。