2017-09-17 9 views
1

イメージをアニメーション化するCSSコードがありますが、jQueryを使用してアニメーションをトリガーするボタンが必要です。jQueryでアニメーションをトリガーする方法は?

これは私のCSSとHTMLのコードですが、それは動作しません:

私はそれが動作するようにする必要がありますどのような変更

jQuery.noConflict(); 
 
$(document).ready(function() { 
 
    $(".animar").click(function() { 
 
    $('#img4').addClass('uno'); 
 
    }); 
 
});
#img4:hover { 
 
    animation-name: uno; 
 
    animation-duration: 7s; 
 
} 
 

 
@keyframes uno { 
 
    20% { 
 
    left: 80px; 
 
    } 
 
    50% { 
 
    left: 190px; 
 
    } 
 
    70% { 
 
    left: 220px 
 
    } 
 
    100% { 
 
    left: 350px; 
 
    } 
 
}
<div id="movimiento"> 
 
    <img src="imagenes/kangura.png" class="img-responsive" id="img4"> 
 

 
    <img src="imagenes/corazon.png" class="img-responsive" id="img5"> 
 
    <button class="animar">Entregar Corazón</button> 
 
</div>

+1

[答えが適切である](https://stackoverflow.com/a/46268398/3931192)。私は、 'jQuery.noConflict();を呼び出すときにそれを強調したいと思います。代わりに、少なくとも質問の中で行われているように、' $ 'を使わずに' jQuery'を使うことができます。ちょうど次のエラーを防ぐために... – Axel

答えて

3

unoをjQueryに追加していますが、.unoに対応するCSSルールがありません。

私はこの作業を表示するには1と最低限のスタイルを追加しました:JON-uleis @

$(document).ready(function() { 
 
    $(".animar").click(function() { 
 
    $('#img4').addClass('uno'); 
 
    }); 
 
});
#img4 { 
 
    position: absolute; 
 
    top: 30px; 
 
} 
 

 
.uno { 
 
    animation-name: uno; 
 
    animation-duration: 7s; 
 
} 
 

 
@keyframes uno { 
 
    20% { 
 
    left: 80px; 
 
    } 
 
    50% { 
 
    left: 190px; 
 
    } 
 
    70% { 
 
    left: 220px 
 
    } 
 
    100% { 
 
    left: 350px; 
 
    } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div id="movimiento"> 
 
    <img src="http://placehold.it/200x200" class="img-responsive" id="img4"> 
 

 
    <button class="animar">Entregar Corazón</button> 
 
</div>

+0

私は何が起こるか知っていませんが、ボタンをクリックしてコードを実行しないでください。これはコード全体です。 –

関連する問題