我有两个CSS类(c1
和c2
),我用CSS3转换在它们之间切换。两个类之间的状态
现在,我想一个div来留(非动画)的c1
和c2
之间的状态,例如60%c1
和40%c2
。 (如果我玩c1
和c2
之间1秒持续时间的过渡,我想帧的出现在0.4秒的状态)
c1
和c2
具有许多属性(变换等),所以它是不容易计算每个属性按要求的百分比并将其设置为div
。
有没有用于此目的的任何CSS/jQuery方法?
我有两个CSS类(c1
和c2
),我用CSS3转换在它们之间切换。两个类之间的状态
现在,我想一个div来留(非动画)的c1
和c2
之间的状态,例如60%c1
和40%c2
。 (如果我玩c1
和c2
之间1秒持续时间的过渡,我想帧的出现在0.4秒的状态)
c1
和c2
具有许多属性(变换等),所以它是不容易计算每个属性按要求的百分比并将其设置为div
。
有没有用于此目的的任何CSS/jQuery方法?
jQueryUI的switchClass
,addClass
函数不支持step
函数参数,这使得实现这一点非常困难。
但是,如果你能在动画代码本身指定的风格,这是可以做到 - 选中此琴:http://jsfiddle.net/techfoobar/fAZqn/2/
Here is working jsFiddle,这里是结构:
的jQuery:
//setting animation values
var value1 = 60;
var value2 = 40;
$('a').click(function(){
var takeClass = $(this).attr('class');
//takes class from clicked element
var selectEle = $('.'+ takeClass +'Box');
//creating selector with takeClass value
$('span').not(selectEle).animate({'width':value2+'px','height':value2+'px'},90);
selectEle.animate({'width':value1+'px','height':value1+'px'},90);
});
HTML:
<a class="c1">1</a>
<a class="c2">2</a>
<span class="c1Box"></span>
<span class="c2Box"></span>
许多属性不能用百分比来衡量。所以一个通用的解决方案是不太可能的。 – techfoobar 2012-08-10 10:28:01
浏览器可以在播放CSS3动画时计算所有属性。难道只有一帧动画的状态是可能的吗? – 2012-08-10 10:29:09
为什么不使用第三课?当div计划在这个中间状态?在鼠标或什么? – 2012-08-10 10:36:34