wip
This commit is contained in:
parent
ad313fd182
commit
1a4c94209b
@ -80,7 +80,7 @@ class Display {
|
|||||||
$('.action-play-audio').click(e => {
|
$('.action-play-audio').click(e => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
const index = Display.entryIndexFind($(e.currentTarget));
|
const index = Display.entryIndexFind($(e.currentTarget));
|
||||||
Display.audioPlay(this.definitions[index], this.audioCache);
|
this.audioPlay(this.definitions[index]);
|
||||||
});
|
});
|
||||||
$('.kanji-link').click(e => {
|
$('.kanji-link').click(e => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
@ -209,24 +209,46 @@ class Display {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onKeyDown(e) {
|
onKeyDown(e) {
|
||||||
if (e.keyCode === 36 /* home */) {
|
const handlers = {
|
||||||
|
36: /* home */ () => {
|
||||||
|
this.entryScroll(0, true);
|
||||||
|
},
|
||||||
|
|
||||||
|
35: /* end */ () => {
|
||||||
|
this.entryScroll(this.definitions.length - 1, true);
|
||||||
|
},
|
||||||
|
|
||||||
|
38: /* up */ () => {
|
||||||
|
this.entryScroll(this.index - 1, true);
|
||||||
|
},
|
||||||
|
|
||||||
|
40: /* down */ () => {
|
||||||
|
this.entryScroll(this.index + 1, true);
|
||||||
|
},
|
||||||
|
|
||||||
|
209: /* [ */ () => {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
221: /* ] */ () => {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
220: /* \ */ () => {
|
||||||
|
this.audioPlay(this.definitions[this.index]);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const handler = handlers[e.keyCode];
|
||||||
|
if (handler) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
this.entryScroll(0, true);
|
handler();
|
||||||
} else if (e.keyCode === 35 /* end */) {
|
|
||||||
e.preventDefault();
|
|
||||||
this.entryScroll(this.definitions.length - 1, true);
|
|
||||||
} if (e.keyCode === 38 /* up */) {
|
|
||||||
e.preventDefault();
|
|
||||||
this.entryScroll(this.index - 1, true);
|
|
||||||
} else if (e.keyCode === 40 /* down */) {
|
|
||||||
e.preventDefault();
|
|
||||||
this.entryScroll(this.index + 1, true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static audioPlay(definition, cache) {
|
audioPlay(definition) {
|
||||||
for (const key in cache) {
|
for (const key in this.audioCache) {
|
||||||
const audio = cache[key];
|
const audio = this.audioCache[key];
|
||||||
if (audio !== null) {
|
if (audio !== null) {
|
||||||
audio.pause();
|
audio.pause();
|
||||||
}
|
}
|
||||||
@ -237,7 +259,7 @@ class Display {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let audio = cache[url];
|
let audio = this.audioCache[url];
|
||||||
if (audio) {
|
if (audio) {
|
||||||
audio.currentTime = 0;
|
audio.currentTime = 0;
|
||||||
audio.play();
|
audio.play();
|
||||||
@ -248,7 +270,7 @@ class Display {
|
|||||||
audio = new Audio('/mixed/mp3/button.mp3');
|
audio = new Audio('/mixed/mp3/button.mp3');
|
||||||
}
|
}
|
||||||
|
|
||||||
cache[url] = audio;
|
this.audioCache[url] = audio;
|
||||||
audio.play();
|
audio.play();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user