使用css3实现圆形并旋转的问题

百度首页有个音乐功能,点击圆盘,磁碟图片就转了起来,再点击,又停下来,用firebug查看其源代码,并得到如何实现:

1. 首先我们定义一个div,可以给一个id,比如pointer

<div  id=”pointer” ></div>

2. 把它设置成圆形并填充图片,这里我就用画图做了一个简单的箭头,用作指示。

#{

    height:100px;
    width:100px;
    border-radius: 50%;    //圆角设成一半,就变成圆形了
    display:inline-block;
    background:url("img/pointer.jpg");   //用背景图片来代替img标记

}

3. 再添加animation属性,设置动画的一些属性,再由@keyframes来实现动画效果

#pointer{
    animation: rotate 60s linear 0s infinite normal;
}

@keyframes rotate{
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }

}

这样,打开网页,整个圆盘就开始旋转了。再实现点击暂停的功能,这里用到了jquery的toggleClass方法,并设置一个暂停的属性。

.pause{
    animation-play-state:paused;
}

$(document).ready(function(){
    $("#pointer").click(function(){
        $(this).toggleClass("pause");
    });
});

这时候,点击圆盘就暂停,再点击就继续。

posted @ 2014-11-12 17:00  西伯利亚寒风  阅读(1106)  评论(0编辑  收藏  举报