Я тестирую анимацию, но я хочу знать, как лучше всего постоянно нажимать на div или вход и продолжать выполнять анимацию. Как мне получить переход, чтобы он повторял каждый раз, когда нажимается изображение? Это мой код:
<!DOCTYPE html>
<html>
<head>
<style>
body {
background-color: #505050;
}
.card {
position: relative;
float: left;
width: 10%;
margin-left: 5%;
margin-right: 5%;
}
.spin {
transform: rotateY(360deg);
-moz-transform: rotateY(360deg);
-ms-transform: rotateY(360deg);
-o-transform: rotateY(360deg);
-webkit-transform: rotateY(360deg);
transition-property: all;
transition-duration: .5s;
transition-timing-function: linear;
-moz-transition-property: all;
-moz-transition-duration: .5s;
-moz-transition-timing-function: linear;
-webkit-transition-property: all;
-webkit-transition-duration: .5s;
-webkit-transition-timing-function: linear;
-o-transition-property: all;
-o-transition-duration: .5s;
-o-transition-timing-function: linear;
-ms-transition-property: all;
-ms-transition-duration: .5s;
-ms-transition-timing-function: linear;
}
.rotate {
transform: rotateX(360deg);
-moz-transform: rotateX(360deg);
-ms-transform: rotateX(360deg);
-o-transform: rotateX(360deg);
-webkit-transform: rotateX(360deg);
transition-property: all;
transition-duration: .5s;
transition-timing-function: linear;
-moz-transition-property: all;
-moz-transition-duration: .5s;
-moz-transition-timing-function: linear;
-webkit-transition-property: all;
-webkit-transition-duration: .5s;
-webkit-transition-timing-function: linear;
-o-transition-property: all;
-o-transition-duration: .5s;
-o-transition-timing-function: linear;
-ms-transition-property: all;
-ms-transition-duration: .5s;
-ms-transition-timing-function: linear;
}
</style>
</head>
<body>
<div class="card">
<input type="image" id="card" src="images2/Card.jpg" value="1">
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("#card").click(function() {
$("#card").addClass('spin');
CheckValue($(this).val());
});
function CheckValue(value)
{
selectedImageValue = value;
if(selectedImageValue == 1)
{
$(#card).addClass('rotate');
}
}
});
</script>
</body>
</html>
Может кто-нибудь объяснить правильный способ сделать это. Благодарю. Я редактировал свой вопрос. Я хочу добавить второй класс, но при этом каждый раз, когда он будет нажат, будет отображаться изображение. Как мне это сделать, пожалуйста.
ОК, я сделал пример скрипки. Проблема в том, что вы можете только один раз щелкнуть карточку, и я хочу, чтобы вы могли перевернуть карту несколько раз. Я знаю, что я неправильно ставил свой класс, но я не понимаю, как сбросить класс или анимацию за каждый клик. Можете ли вы исправить код в инструкции else, чтобы сделать его оживленным при каждом нажатии. Вот ссылка на скрипку: http://jsfiddle.net/EJzJA/4/
Просто удалите класс после завершения вращения........ Попробуйте этот кусок кода
$(document).ready(function () {
$("#card").click(function () {
$("#card").addClass('spin');
setTimeout(function () { $('#card').removeClass(); }, 500);
});
});
Используйте этот код:
$(document).ready(function(){
$("#card").click(function(){
if($(this).hasClass('spin')){
$(this).parent().addClass('spin');
$(this).removeClass('spin');
}
else{
$(this).parent().removeClass('spin');
$(this).addClass('spin');
}
});
});
Вы можете toggleClass
<script>
$(document).ready(function() {
$("#card").on('click',function() {
$("#card").toggleClass('spin');
});
});
</script>
Я думаю, вам нужно add class
на div
не на input image
Use .
вместо #
нравится,
$(document).ready(function () {
$("#card").click(function () {
$(".card").addClass('spin');
// ---^ use . in place of #
});
});
Выше будет animate
только один раз, если вы хотите toggle
его много раз, тогда вы можете использовать toggleClass()
$(document).ready(function () {
$("#card").click(function () {
$(".card").toggleClass('spin');
});
});