dais-boardでのページ移動を右キーで行えないか
なんとなくカーソルキーで移動できたらいいのでは、という気持ちになってきた。
dais-boardにカルーセルボタンをつける
ただし制約は多い
ダイアログなどが開いていないときに右を押したら移動
他のページと干渉しないようにするにはどうするか?
右を押す動作で起動する関数がmainで宣言されていて、その中身を書き換える?
projectページも、→キーで次のページに移動したい。
別ページに移動したら、その操作は不要、あるいは別の操作にしたい
普通にaddEventListenerしてしまうと他のページでの干渉が起きる。
関数の起動時に、条件分岐しておけばいいわけだが、あまり「オブジェクト指向」的ではない気がする
よって、まずmainのJavaScritpで、「右キーを押したときに、shiftLeftPageという関数がもしあるなら実行してね、とする。
code:ja.js
if(typeof shiftLeftPage == "function"){
// 関数が存在する場合それを実行
shiftLeftPage();
}
で、個々のページ中で、 shiftLeftPage()を宣言するという形。
JavaScriptは同名の関数を宣言しても大丈夫、なはず。
というわけで、さっそく左右キーでdaisの上部を移動できるようにした。非常に快適になった。
https://gyazo.com/5c1fd1f1d691d4ee7ded43864819df2e
同様のことを、プロジェクトページ群でも行いたい。
ref.
Key values for keyboard events - Web APIs | MDN
javascriptで関数が存在するかどうかを調べる方法 - WEB制作の解決策FAQブログ