我想在网页上实现一个小图片在不停的旋转的效果,就在那儿不停的360度转啊转的样子 100
不知道jquery有没有类似功能,是不是要用到animate里的rotate的?那怎么做成动画的效果呢?求大神帮助...
不知道jquery有没有类似功能,是不是要用到animate里的rotate的?那怎么做成动画的效果呢?求大神帮助
展开
推荐于2017-06-18
展开全部
下面是用css旋转图片,用js换className。
换图片地址后试试。
<html>
<head>
<style>
.css-turn-0{
-moz-transform:matrix(1,0,0,1,0,0);
-o-transform:matrix(1,0,0,1,0,0);
-webkit-transform:matrix(1,0,0,1,0,0);
transform:matrix(1,0,0,1,0,0);
-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=1, SizingMethod='auto expand')"
}
.css-turn-270{
-moz-transform:matrix(0,-1,1,0,0,0);
-o-transform:matrix(0,-1,1,0,0,0);
-webkit-transform:matrix(0,-1,1,0,0,0);
transform:matrix(0,-1,1,0,0,0);
-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=1, M21=-1, M22=0, SizingMethod='auto expand')"
}
.css-turn-180{
-moz-transform:matrix(-1,0,0,-1,0,0);
-o-transform:matrix(-1,0,0,-1,0,0);
-webkit-transform:matrix(-1,0,0,-1,0,0);
transform:matrix(-1,0,0,-1,0,0);
-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=-1, M12=0, M21=0, M22=-1, SizingMethod='auto expand')"
}
.css-turn-90{
-moz-transform:matrix(0,1,-1,0,0,0);
-o-transform:matrix(0,1,-1,0,0,0);
-webkit-transform:matrix(0,1,-1,0,0,0);
transform:matrix(0,1,-1,0,0,0);
-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=-1, M21=1, M22=0, SizingMethod='auto expand')"
}
</style>
</head>
<body>
<img src="图片地址">
<script>
var img = document.getElementsByTagName('img')[0],
i = 1,
css = ['css-turn-0', 'css-turn-90', 'css-turn-180', 'css-turn-270'];
img.onclick = function () {
this.className = css[i++ % 4];
}
</script>
</body>
</html>
转自 zhaoapk 的回答。
追问
我看了一下,如果我没有理解错的话,这个是相当于四个角度轮着切换把?可能我没有完全理解哦,不过我想实现的是类似于不停旋转的动画,不只是四张图片那样的,不知道可以实现的了吗?
追答
能做到转动,用setTimeout就可以循环的去转了。
这个我也没试过,我看了下,要简单的办法,就去找一个 Graphics 类的js包
或者用 使用后台语言的GD库(php就有)也可以实现。直接用代码去实现,效果还真不是非常的理想。
展开全部
var img = $(selector);
var speed = 50;
var deg = 0;
setInterval(function () {
img.css({
'-ms-transform': 'rotate(' + deg + 'deg)', /* IE 9 */
'-moz-transform': 'rotate(' + deg + 'deg)', /* Firefox */
'-webkit-transform': 'rotate(' + deg + 'deg)', /* Safari and Chrome */
'-o-transform': 'rotate(' + deg + 'deg)', /* Opera */
'transform': 'rotate(' + deg + 'deg)'
});
deg+=1;
if (deg >= 360) {
deg = 0;
}
}, speed);
追问
谢谢大神!
追答
都谢谢了,你就不采纳么。。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是类似加载吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询