So far I'm using different buttons for different transitions (each one with individual function) on one DOM element :
onButtonClickUp = function(){
document.querySelector('.cube-rot').style.transform="rotateY(90deg)"
};
onButtonClickDown = function(){
document.querySelector('.cube-rot').style.transform="rotateY(-90deg)"
};
onButtonClickRight = function(){
document.querySelector('.cube-rot').style.transform="rotateX(90deg)"
};
onButtonClickLeft = function(){
document.querySelector('.cube-rot').style.transform="rotateX(-90deg)"
};
document.querySelector('.show-up').addEventListener( 'click', onButtonClickUp, false);
document.querySelector('.show-down').addEventListener( 'click', onButtonClickDown, false);
document.querySelector('.show-left').addEventListener( 'click', onButtonClickLeft, false);
document.querySelector('.show-right').addEventListener( 'click', onButtonClickRight, false);
I'm firing everything off on DomContentLoaded and it's working, but I'd like to combine the functions into one with different cases;
this is what I've tried
function onButtonClick(rot){
//rot = rUp || rDown|| rLeft ||rRight ;
if(rot == 'rUp'){rot = "rotateY(90deg)";}
else if (rot == 'rDown'){ rot = "rotateY(90deg)"}
else if (rot == 'rLeft'){ rot = "rotateX(90deg)"}
else if(rot == 'rRight' ){ rot = "rotateX(-90deg)"};
cubeRot.style.transform=rot
};
document.querySelector('.show-up').addEventListener( 'click', onButtonClick('rUp'), false);
document.querySelector('.show-down').addEventListener( 'click', onButtonClick('rDown'), false);
document.querySelector('.show-right').addEventListener( 'click', onButtonClick('rRight'), false);
document.querySelector('.show-left').addEventListener( 'click', onButtonClick('rLeft'), false);
it doesn't work, adding different EventListners resolves in the last overriding previous.. what's the most convenient way to do this?
onButtonClick('rUp')inaddEventListener. This executes the function directly when it's parsed. Change toonButtonClick.bind(null, 'rUp'),cubeRot.style.transform=rotI think cubeRot is not defined, sholdn't it bedocument.querySelector('.cube-rot').style.transform=rot?<button class="show-up" data-axis="Y" data-deg="90" />then you can simply read offthisorevent.targetin the handler