summaryrefslogtreecommitdiff
path: root/src/client/directives
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-04-23 15:33:33 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2021-04-23 15:33:33 +0900
commit1edb8cf0e920aacec8a44a9affe7ee9302102498 (patch)
tree0351be13902e34595f946a1e135e71b4697d4d2e /src/client/directives
parentfix bug (diff)
downloadmisskey-1edb8cf0e920aacec8a44a9affe7ee9302102498.tar.gz
misskey-1edb8cf0e920aacec8a44a9affe7ee9302102498.tar.bz2
misskey-1edb8cf0e920aacec8a44a9affe7ee9302102498.zip
add animation
Diffstat (limited to 'src/client/directives')
-rw-r--r--src/client/directives/click-anime.ts22
-rw-r--r--src/client/directives/index.ts2
2 files changed, 24 insertions, 0 deletions
diff --git a/src/client/directives/click-anime.ts b/src/client/directives/click-anime.ts
new file mode 100644
index 0000000000..864155f076
--- /dev/null
+++ b/src/client/directives/click-anime.ts
@@ -0,0 +1,22 @@
+import { Directive } from 'vue';
+
+export default {
+ mounted(el, binding, vn) {
+ el.addEventListener('mousedown', () => {
+ el.classList.add('_anime_bounce_ready');
+
+ el.addEventListener('mouseleave', () => {
+ el.classList.remove('_anime_bounce_ready');
+ });
+ });
+
+ el.addEventListener('click', () => {
+ el.classList.add('_anime_bounce');
+ });
+
+ el.addEventListener('animationend', () => {
+ el.classList.remove('_anime_bounce_ready');
+ el.classList.remove('_anime_bounce');
+ });
+ }
+} as Directive;
diff --git a/src/client/directives/index.ts b/src/client/directives/index.ts
index 6513350e0d..f0a0123771 100644
--- a/src/client/directives/index.ts
+++ b/src/client/directives/index.ts
@@ -8,6 +8,7 @@ import hotkey from './hotkey';
import appear from './appear';
import anim from './anim';
import stickyContainer from './sticky-container';
+import clickAnime from './click-anime';
export default function(app: App) {
app.directive('userPreview', userPreview);
@@ -18,5 +19,6 @@ export default function(app: App) {
app.directive('hotkey', hotkey);
app.directive('appear', appear);
app.directive('anim', anim);
+ app.directive('click-anime', clickAnime);
app.directive('sticky-container', stickyContainer);
}