Ich habe den Code ein wenig angepasst zugunsten von DRY. Sorry wegen der Doppelzeiligkeit.
const turnPage = ( right ) => {
let doOnce;
let page = document.querySelectorAll( '.page' );
page.forEach( node => {
if ( node.getAttribute( 'aria-selected' ) === 'true' && !doOnce ) {
if ( right === true ) {
if ( !node.nextElementSibling ) return;
node.nextElementSibling.setAttribute( 'aria-selected', true );
} else {
if ( !node.previousElementSibling ) return;
node.previousElementSibling.setAttribute( 'aria-selected', true );
}
node.removeAttribute( 'aria-selected' );
doOnce = true;
}
});
}
const changePage = () => {
document.body.addEventListener( 'keydown', ( e ) => {
var key = e.keyCode;
// r i g h t - a r r o w - k e y
if ( key === 39 ) { turnPage( true ); }
// l e f t - a r r o w - k e y
if ( key === 37 ) { turnPage(); }
});
};
// R U N - S C R I P T
document.addEventListener( 'DOMContentLoaded', () => {
if ( document.querySelector( '.change-page' ) )
changePage();
});