2017-03-01 4 views
2

Ich bin nicht wirklich gut in CSS-Animationen/Übergänge und habe keine Ahnung, was von ihnen genau zu verwenden, um Hover-ähnliche Animation mit JS zu implementieren.JS Hover-ähnliche Animation

Ich möchte die Animation aufrufen, wenn ich die Daten ändere, um sie hervorzuheben, und sie dann nach 0,5 Sekunden auf den Standardzustand zurücksetzen. Und in der Lage zu sein, dies oft zu tun (ohne die Seite zu aktualisieren/zu verstecken).

+0

do neccessarily Sie es mit JS tun müssen? –

+0

und ändern welche Daten? Hast du schon etwas probiert? –

+0

Ich benutze VueJS, also möchte ich animation start von JS aufrufen, um diese Ansicht im Browser zu markieren. –

Antwort

0

Betrachten Sie den folgenden Code

HTML

<div id="item">hover me</div> 

CSS

#item{ 
    transition : all 0.5s ease-out; 
    background : #fff; 
    color  : #000; 
} 

.hovered{ 
    background : #000 !important; 
    color  : #fff !important; 
} 

JS

item.onmouseenter = function(){ 
    this.classList.add('hovered'); 
} 

item.onmouseleave = function(){ 
    setTimeout(function(){ 
     this.classList.remove('hovered'); 
    }.bind(this),1000) 
} 

Check out diese Geige: https://jsfiddle.net/1ty551gL/

, um es automatisch auf Datenänderung zu erhalten arbeiten:

JS

function onchange(){ 

    item.classList.add('hovered'); 

    setTimeout(function(){ 
     item.classList.remove('hovered'); 
    },1000); 

} 
+1

Das ist genau was ich brauche! Wie kann ich es ohne Mauseingabe aktivieren? Ich möchte es von der Funktion –

+0

aktivieren. Bitte erwäge, die Antwort zu markieren und zu markieren, welche Funktion benötigst du? Bitte beschreiben – levi

+1

''

{{status}}
- das, was in meinem HTML ist, und das ist, wie ich meine Daten in js aktualisieren: 'if (...) { ... this.status = callAnimationHere 'einige neue Daten' () } '. Ich möchte Animation aufrufen, nachdem ich meine Daten –

Verwandte Themen