CSSのアニメを使ってやわらかい表現を付加します。
表示時とクリックしたときに発動するサンプルです。
クラスを設定すれば、要素は画像でもSVGでも文字でも適用できます。
以下の要素をクリックしてください。
CSSは以下のように書きました
<style>
.poyon {
animation: poyon 1.0s linear 0s ;
cursor:pointer;
}
.demo_area{
background-color: #CCC;
width: 200px;
height: 200px;
margin: 20px;
}
@keyframes poyon {
0% { transform: scale(0.8, 1.4) translate(0%, -100%); }
10% { transform: scale(0.8, 1.4) translate(0%, -15%); }
20% { transform: scale(1.4, 0.6) translate(0%, 30%); }
30% { transform: scale(0.9, 1.1) translate(0%, -10%); }
40% { transform: scale(0.95, 1.2) translate(0%, -30%); }
50% { transform: scale(0.95, 1.2) translate(0%, -10%); }
60% { transform: scale(1.1, 0.9) translate(0%, 5%); }
70% { transform: scale(1.0, 1.0) translate(0%, 0%); }
100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}
</style>
クリックで発動するJSのサンプルはこちら
<script>
$(document).ready(function(){
$(".poyon").on('click',function(){
$(this).removeClass("poyon").delay(200).queue(function(next) {
$(this).addClass('poyon');
next();
});
});
});
</script>
HTMLはこちら
<div class="demo_area">
<div class="poyon">
<svg width=200 height=200 class="bg">
<circle cx="100" cy="100" r="90" stroke="black" stroke-width="0" fill="#69F"/>
</svg>
</div>
</div>