<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>Flash Cards</title> <style> body { margin: 0; background: #e0e0e0; text-align: center; font-family: Verdana, sans-serif; color: #fff; } #btn { width: 200px; margin: 0 auto; padding: 7px; border-radius: 5px; background: #00aaff; box-shadow: 0 4px 0 #0088cc; cursor: pointer; } #btn:hover { opacity: 0.8; } #card { margin: 60px auto 20px; width: 400px; height: 100px; cursor: pointer; font-size: 38px; line-height: 100px; perspective: 100px; transform-style: preserve-3d; transition: transform .8s; } #card-front, #card-back { display: block; width: 100%; height: 100%; border-radius: 5px; position: absolute; backface-visibility: hidden; } #card-front { background: #fff; color: #333; } #card-back { background: #00aaff; transform: rotateY(180deg); } .open { transform: rotateY(180deg); } </style> </head> <body> <div id="card"> <div id="card-front"></div> <div id="card-back"></div> </div> <div id="btn">NEXT</div> <script> (function() { 'use strict'; var words = [ {'en': 'read', 'ja': '読む'}, {'en': 'write', 'ja': '書く'}, {'en': 'eat', 'ja': '食べる'}, {'en': 'run', 'ja': '走る'}, {'en': 'walk', 'ja': '歩く'} ]; var card = document.getElementById('card'); var cardFront = document.getElementById('card-front'); var cardBack = document.getElementById('card-back'); var btn = document.getElementById('btn'); card.addEventListener('click', function() { flip(); }); btn.addEventListener('click', function() { next(); }); function next() { if (card.className === 'open') { card.addEventListener('transitionend', setCard); flip(); } else { setCard(); } } function setCard() { var num = Math.floor(Math.random() * words.length); cardFront.innerHTML = words[num]['en']; cardBack.innerHTML = words[num]['ja']; card.removeEventListener('transitionend', setCard); } setCard(); window.addEventListener('keyup', function(e) { // console.log(e.keyCode); if (e.keyCode === 70) { flip(); } else if (e.keyCode === 78) { next(); } }); function flip() { card.className = card.className === '' ? 'open' : ''; } })(); </script> </body> </html>
「ショートカットキー」の設定の際に「console.log(e.keyCode);」を使用することで、キーボードに割り当てられた「数字」を確認することができます!
※今回の場合はflip();は「Fキー」、next();は「Nキー」で動作するようにしています!
Fキー: 70
Nキー:78
Nキー:78
【おさかなび-osakanav-】では、この記事の感想!おさかなへの応援メッセージ!おさかなに聞きたい事、質問!記事にしてほしい内容!などを大募集中!
「氏名」「メールアドレス」「内容」の3点をご記入の上「osakana1699@gmail.com」までご応募ください!