转换旋转()不适用于 Animate.css
transform rotate() not working with Animate.css
transform : rotate() 在没有 animate.css 的情况下工作,但它不适用于 animate.css
这是代码:
HTML
<div id="fresh">FRESH</div>
CSS
#fresh{
position : absolute;
background-color : #cf2c2c;
width: 38px;
padding-left: 2px;
color: #ffffff;
border-radius: 5px;
-ms-transform: rotate(-37deg);
-webkit-transform: rotate(-37deg);
transform: rotate(-37deg);
right: 113px;
bottom: 40px;
font-size: 10px;
z-index : 9999;
}
jQuery
$(document).ready(function(){
$('#fresh').addClass("animated tada");
});
编辑
动画在 fiddle 中不工作,但 rotate() 正在工作。意味着两者不能一起工作。
更新 1
$(document).ready(function(){
$('#fresh').addClass("animated tada");
});
#fresh{
position : absolute;
background-color : #cf2c2c;
width: 38px;
padding-left: 2px;
color: #ffffff;
border-radius: 5px;
-ms-transform: rotate(-37deg);
-webkit-transform: rotate(-37deg);
transform: rotate(-37deg);
right: 113px;
bottom: 40px;
font-size: 10px;
z-index : 9999;
}
<link href="https://daneden.github.io/animate.css/animate.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="fresh">FRESH</div>
好的,我找到了为什么不起作用。必须添加正确的 animate.css 文件:https://daneden.github.io/animate.css/animate.min.css
立即尝试。工作正常
更新 2
$(document).ready(function(){
finish =0;
AnimateRotate("-37");
function AnimateRotate(angle) {
// caching the object for performance reasons
var $elem = $('#fresh');
// we use a pseudo object for the animation
// (starts from `0` to `angle`), you can name it as you want
$({deg: 0}).animate({deg: angle}, {
duration: 500,
step: function(now) {
// in the step-callback (that is fired each step of the animation),
// you can use the `now` paramter which contains the current
// animation-position (`0` up to `angle`)
$elem.css({
transform: 'rotate(' + now + 'deg)'
});
},
complete: function() {
if(finish!=1)
$('#fresh').addClass("animated tada");
}
});
};
$('#fresh').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function(){
$('#fresh').removeClass();
finish=1;
AnimateRotate("-37");
});
});
#fresh{
position : absolute;
background-color : #cf2c2c;
width: 38px;
padding-left: 2px;
color: #ffffff;
border-radius: 5px;
-ms-transform: rotate(-37deg);
-webkit-transform: rotate(-37deg);
transform: rotate(-37deg);
right: 113px;
bottom: 40px;
font-size: 10px;
z-index : 9999;
}
<link href="https://daneden.github.io/animate.css/animate.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="fresh">FRESH</div>
我为此找到了另一种解决方案,但并不完全符合我的预期。效果很好,还在等好答案。
HTML
<div class="rotate37i">
<div id="fresh">FRESH</div>
</div>
CSS
#fresh{
position : absolute;
background-color : #cf2c2c;
width: 38px;
padding-left: 2px;
color: #ffffff;
border-radius: 5px;
right: 113px;
bottom: 40px;
font-size: 10px;
z-index : 9999;
}
.rotate37i {
-ms-transform: rotate(-37deg);
-webkit-transform: rotate(-37deg);
transform: rotate(-37deg);
}
transform : rotate() 在没有 animate.css 的情况下工作,但它不适用于 animate.css
这是代码:
HTML
<div id="fresh">FRESH</div>
CSS
#fresh{
position : absolute;
background-color : #cf2c2c;
width: 38px;
padding-left: 2px;
color: #ffffff;
border-radius: 5px;
-ms-transform: rotate(-37deg);
-webkit-transform: rotate(-37deg);
transform: rotate(-37deg);
right: 113px;
bottom: 40px;
font-size: 10px;
z-index : 9999;
}
jQuery
$(document).ready(function(){
$('#fresh').addClass("animated tada");
});
编辑
动画在 fiddle 中不工作,但 rotate() 正在工作。意味着两者不能一起工作。
更新 1
$(document).ready(function(){
$('#fresh').addClass("animated tada");
});
#fresh{
position : absolute;
background-color : #cf2c2c;
width: 38px;
padding-left: 2px;
color: #ffffff;
border-radius: 5px;
-ms-transform: rotate(-37deg);
-webkit-transform: rotate(-37deg);
transform: rotate(-37deg);
right: 113px;
bottom: 40px;
font-size: 10px;
z-index : 9999;
}
<link href="https://daneden.github.io/animate.css/animate.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="fresh">FRESH</div>
好的,我找到了为什么不起作用。必须添加正确的 animate.css 文件:https://daneden.github.io/animate.css/animate.min.css
立即尝试。工作正常
更新 2
$(document).ready(function(){
finish =0;
AnimateRotate("-37");
function AnimateRotate(angle) {
// caching the object for performance reasons
var $elem = $('#fresh');
// we use a pseudo object for the animation
// (starts from `0` to `angle`), you can name it as you want
$({deg: 0}).animate({deg: angle}, {
duration: 500,
step: function(now) {
// in the step-callback (that is fired each step of the animation),
// you can use the `now` paramter which contains the current
// animation-position (`0` up to `angle`)
$elem.css({
transform: 'rotate(' + now + 'deg)'
});
},
complete: function() {
if(finish!=1)
$('#fresh').addClass("animated tada");
}
});
};
$('#fresh').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function(){
$('#fresh').removeClass();
finish=1;
AnimateRotate("-37");
});
});
#fresh{
position : absolute;
background-color : #cf2c2c;
width: 38px;
padding-left: 2px;
color: #ffffff;
border-radius: 5px;
-ms-transform: rotate(-37deg);
-webkit-transform: rotate(-37deg);
transform: rotate(-37deg);
right: 113px;
bottom: 40px;
font-size: 10px;
z-index : 9999;
}
<link href="https://daneden.github.io/animate.css/animate.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="fresh">FRESH</div>
我为此找到了另一种解决方案,但并不完全符合我的预期。效果很好,还在等好答案。
HTML
<div class="rotate37i">
<div id="fresh">FRESH</div>
</div>
CSS
#fresh{
position : absolute;
background-color : #cf2c2c;
width: 38px;
padding-left: 2px;
color: #ffffff;
border-radius: 5px;
right: 113px;
bottom: 40px;
font-size: 10px;
z-index : 9999;
}
.rotate37i {
-ms-transform: rotate(-37deg);
-webkit-transform: rotate(-37deg);
transform: rotate(-37deg);
}