gpt4 book ai didi

javascript - 如何使用 Jquery/Javascript/css 在每次点击时动态旋转圆圈?

转载 作者:太空宇宙 更新时间:2023-11-03 19:03:56 24 4
gpt4 key购买 nike

我有一个 CSS 类,它形成一个圆圈,我试图通过添加一个 css 属性从 Jquery 动态旋转它。当我第一次单击按钮时它工作正常,其余时间它处于空闲状态。我尝试使用“cssAmination”功能,但没有用。我无法弄清楚我哪里出错了。请帮我解决这个代码。提前致谢。

/*Circle code*/
div.circle{
width: 300px;
height: 300px;
-moz-border-radius:150px;
-webkit-border-radius: 150px;
background:#808080;
border-radius: 150px;
bottom: -150px;
left: -150px;
position: absolute;
}

/*rotate class*/
div.rotateCircle
{
/* Firefox: */
-moz-animation-duration: 2s;
-moz-animation-timing-function: ease-in-out;
-moz-animation-iteration-count: 1;
-moz-animation-play-state: running;
}

@-moz-keyframes moveCircle
{
from {-moz-transform:rotate(0deg);}
to {-moz-transform:rotate(90deg);}
}

//Jquery code:
<script type="text/javascript">
$(document).ready(function(){
$("a").click(function(){
$('div#rotateCircle').css({'-moz-animation-name':'moveCircle'});
});
}); </script>
<body>
<h3>Labs Project</h3>
<div>
<div id=rotateCircle class="circle">
&nbsp;
</div>
<div id=rotateCircle class="horizontalLine">
&nbsp;
</div>
<div id=rotateCircle class="verticalLine">
&nbsp;
</div>
<div class="divButton">
<table>
<tr>
<td><a class="btn" href="#">HOME</a></td>
<td><a class="btn" href="#">Class</a></td>
<td><a class="btn" href="#">CV</a></td>
<td><a class="btn" href="#">CM</a></td>
</tr>
</table>
</div>
</div>
</body>

最佳答案

您应该查看动画的 JavaScript 事件:https://developer.mozilla.org/en/CSS/CSS_animations#Using_animation_events

基本上,我为动画名称添加了一个类

#rotateCircle.rotate {
-webkit-animation-name: moveCircle;
-moz-animation-name: moveCircle;
-o-animation-name: moveCircle;
animation-name: moveCircle;
}

而不是在 jQuery 中添加 CSS,您只需添加类并在动画完成时使用 animationend 事件将其删除:

$(function() {
var $rotateCircle = $('div#rotateCircle');
$("a").click(function(){
$rotateCircle.addClass('rotate')
.on('animationend', function() {
$rotateCircle.removeClass('rotate');
});
});
});

(我也让它看起来更漂亮了)这是 the new working fiddle .

注意:animationend 事件在某些浏览器上有前缀,这里是 a gist I've made支持所有不同的浏览器(你需要 Modernizr )。

关于javascript - 如何使用 Jquery/Javascript/css 在每次点击时动态旋转圆圈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11093195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com