如何在jquery中使用旋转的css方法
How to use css method of rotation in jquery
当我的网页第一次加载时,我的起始div使用以下CSS代码旋转:
@keyframes rotate
{
from { transform:rotate(0deg);
-ms-transform:rotate(0deg);
-webkit-transform:rotate(0deg); }
to { transform:rotate(360deg);
-ms-transform:rotate(360deg);
-webkit-transform:rotate(360deg); }
}
@-webkit-keyframes rotate
{
from { transform:rotate(0deg);
-ms-transform:rotate(0deg);
-webkit-transform:rotate(0deg); }
to { transform:rotate(360deg);
-ms-transform:rotate(360deg);
-webkit-transform:rotate(360deg); }
}
在旋转之后,这个代码是无用的。我希望当点击一个按钮时,它会再次进行旋转。要做到这一点,我需要能够将这个css代码放入javascript/jQuery
函数中,这样我就可以随时调用它。这可能吗?
尝试此
$({deg: 0}).animate({deg: d}, {
duration: 2000,
step: function(now){
elem.css({
transform: "rotate(" + now + "deg)"
});
}
});
查看JSFIDDLE演示
您可以将动画行为包装到类似的类中
.rotate{
-webkit-animation: rotate 4s;
/* more prefixes if you want to */
animation: rotate 4s;
}
然后你可以点击按钮应用该类,比如:
$('#myButton').click(function(){
$('#myElementToAnimate').addClass('rotate');
});
要在动画完成后移除类,您必须侦听animationend
事件,如:
$('#myButton').click(function(){
// all the different event names are due to the fact that this isn't fully standardized yet
$('#myElementToAnimate').addClass('rotate').on('animationend webkitAnimationEnd oanimationend MSAnimationEnd', function(){
$(this).removeClass('rotate');
});
});
与使用基于JavaScript的动画相比,这应该会给您带来更平滑的结果。请参阅此演示小提琴
只需将CSS属性和所需值应用于jQuery
演示
$(' #box ').css({
transition: '2s linear',
transform: 'rotate(360deg)'
});
p.S:jQuery将为您处理所有这些特定于浏览器的前缀
相关文章:
- Jquery CSS背景图像旋转
- JS/CSS旋转的DIVS在任何屏幕的中间相遇
- 停止在css上旋转动画
- 带有JQuery和CSS的3D旋转木马-渲染不正确
- CSS 图标旋转 鼠标关闭时的第二个动画
- 使用CSS和Javascript的无限旋转动画
- 为什么包含警报模式会影响CSS的旋转方向
- CSS三维旋转;不能在Chrome上使用列布局
- 通过jquery损坏的旋转木马添加css样式
- 在循环中使用JS和CSS更改对象的旋转
- 如何使用 JavaScript 获取以度为单位的 CSS 转换旋转值
- Javascript使用CSS旋转元素
- CSS/JS/HTML:JS 旋转整页的函数
- 在 css 中将旋转背景设置为不重复
- 使用 jquery 和 “this” 旋转 CSS 卡
- 在设备旋转时从纵向/横向使用 javascript 或 CSS 重定向
- 在 CSS 旋转中使过渡转弯的距离最短
- jQuery - 获取子项的 CSS 反向旋转的父级角度差异
- 如何一个接一个地旋转css立方体
- 旋转css三维对象;工作不正常