我正在编写一个脚本,单击时会旋转图标class =“glyphicon glyphicon-star”。
以下是 css 代码
.glyphicon-star-animate {
-webkit-animation-name: rotateThis;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}
@-webkit-keyframes "rotateThis" {
from {
-webkit-transform: rotate( 0deg );
}
to {
-webkit-transform: rotate( 360deg );
}
}
这是jquery代码:
$( document ).ready( function() {
$( "#update" ).on( "click", function( e ) {
var $icon = $( this ).find( ".glyphicon.glyphicon-star" ),
animateClass = "glyphicon-star-animate";
$icon.addClass( animateClass );
// setTimeout is to indicate some async operation
window.setTimeout( function() {
$icon.removeClass( animateClass );
}, 2000 );
});
});
以下是HTML代码:
<a id="update" href="#"><i class="glyphicon glyphicon-star"></i></a>
我的项目包括显示几个div(使用php的fetcharray循环函数从db中提取),其中包含不同的内容。 但我使用的glyphicon glyphicon-star在我能看到的每个div中是相同的。我的问题是旋转功能或jquery仅在第一个div上运行。第二个div或后续类=“glyphicon glyphicon-star”在点击时不会独立旋转。如何让它们独立旋转?
答案 0 :(得分:1)
您需要将ID更新到课堂。 Coz ID是唯一标识符。你只能为一个元素使用一个id。 LiveOnFiddle
$(document).ready(function() {
$(".update").on("click", function(e) {
var $icon = $(this).find(".glyphicon.glyphicon-star"),
animateClass = "glyphicon-star-animate";
$icon.addClass(animateClass);
// setTimeout is to indicate some async operation
window.setTimeout(function() {
$icon.removeClass(animateClass);
}, 2000);
});
});
.glyphicon-star-animate {
-webkit-animation-name: rotateThis;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}
@-webkit-keyframes "rotateThis" {
from {
-webkit-transform: rotate( 0deg );
}
to {
-webkit-transform: rotate( 360deg );
}
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
<div>
<a class="update" href="#"><i class="glyphicon glyphicon-star"></i></a>
</div>
<div>
<a class="update" href="#"><i class="glyphicon glyphicon-star"></i></a>
</div>
<div>
<a class="update" href="#"><i class="glyphicon glyphicon-star"></i></a>
</div>