我有一個類似reddit的應用程序,我想要一個CSS3動畫來觸發每當我downvote
項目。我已經設置好了,只要downvote
,但錄製時動畫都能正常工作,但它也會在初始頁面加載時觸發。任何企圖不這樣做都會導致動畫在任何情況下都不起作用。CSS3動畫鏈接點擊,而不是頁面加載
動畫被觸發我erb
頁以下幾點:
<div class="animations">
<%= image_tag "ballerino.png", class: "fixed animation-left-to-right", id: "to-animate", style: "margin-top: 80px; width: 300px" %>
<script>
$(".downvote").on('click', function() {
$('#to-animate').addClass('animation-left-to-right');
window.location.reload(false);
});
</script>
</div> <!-- animations -->
我也有我的application.scss
頁面下面的定義,我試圖與jQuery的使用:
.fixed {
position: fixed;
}
.no-display {
display: none;
}
任何人都可以幫我解決這個問題,這樣動畫不會在頁面初始加載時觸發嗎?
注意:我並沒有將動作本身的實際CSS
複雜化,因爲動畫是正常工作,只是一個額外的時間。如果有人認爲它會幫助我可以添加它,但我真的認爲這個問題是與我的JavaScript
。
你已經對img標籤的'動畫從左right'類。所以它會在頁面加載時觸發。刪除這可能有幫助,因爲你通過jQuery應用它。 – AA2992
@AnkithAmtange,當您最初導航到頁面(初始頁面加載)時,動畫會運行一次,然後在應該時(在「downvote」上)再次運行。如果我從圖像的「類」中刪除了「動畫從左到右」,那麼它就會作爲一個固定的圖像停留在頁面上,無論如何都不會移動。 – Liz
將'animation-play-state:paused;'添加到'動畫從左到右'的類中......然後downvote使用jQuery將CSS更改爲'animation-play-state:running',而不是添加類。 – AA2992