提供我有以下代碼:在屏幕上移動元素和背部使用關鍵幀
<div class="leftBox">
<div class="mainNode"></div>
</div>
<script type="text/javascript">
$('.mainNode').click(function() {
var element = $('.mainNode');
if (!element.hasClass('show')) {
element.removeClass('hide');
element.addClass('show');
} else {
element.removeClass('show');
element.addClass('hide');
}
})
</script>
和CSS:
.mainNode {
width: 160px;
height: 160px;
border-radius: 50%;
background-color: red;
position :relative;
}
.show {
-webkit-animation: mymove 1s forwards; /* Safari 4.0 - 8.0 */
animation: mymove 1s forwards;
}
.hide {
-webkit-animation: mymove 1s reverse; /* Safari 4.0 - 8.0 */
animation: mymove 1s reverse;
}
/* Safari 4.0 - 8.0 */
@-webkit-keyframes mymove {
from {top: 0px;}
to {top: 200px;}
}
/* Standard syntax */
@keyframes mymove {
from {top: 0px;}
to {top: 200px;}
}
我要找的是我的圈子移動到下的時候我用關鍵幀點擊它(將來我會有更多的)。
第一次點擊後,圓圈應該停留在底部,這已經發生在上面的代碼中。
但是,當我重新點擊該圓圈時,我希望它將相同的動畫反向並返回原始位置。還允許我在使用相同的動畫將其重新向下移動之後重新播放它...這目前不起作用。它向下移動並跳到頂部和底部,沒有動畫。
任何幫助,將不勝感激。
它必須是關鍵幀?我將使用一個具有底部位置的類「.bottom」,然後將元素的原始位置設置爲中間或其他位置。添加'過渡:所有0.5秒緩解;'元素,它會動畫位置的變化。現在使用jQuery,你只需要點擊.toggleClass('bottom')。 –
我想使用關鍵幀,因爲我想將它移動,而不是以直線形式移動,而是以弧線形式移動,因此有「目標點」可以穿過。這只是一個簡單的例子。 – Tikkes
我覺得這個元素在下一個被移除之前有效地丟失了這個類,這可能是一個問題。你如何提供它應該通過的點,以及你計劃如何處理這些點之間的變化距離與CSS中指定的時間相關? –