Skip to content

Commit

Permalink
fix transform origin error
Browse files Browse the repository at this point in the history
  • Loading branch information
hakimel committed Sep 11, 2012
1 parent 9b87d20 commit 4e3cd23
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 43 deletions.
6 changes: 4 additions & 2 deletions index.html
Expand Up @@ -90,7 +90,10 @@ <h1>Meny</h1>
height: 200,

// The width of the menu (when using left/right position)
width: 260
width: 260,

// Distance from mouse (in pixels) when menu should open
activateThreshold: 40
});

// API Methods:
Expand All @@ -99,7 +102,6 @@ <h1>Meny</h1>
// meny.isActive();



// Embed an iframe if a URL is passed in
if( Meny.getQuery().u && Meny.getQuery().u.match( /^http/gi ) ) {
var contents = document.querySelector( '.contents' );
Expand Down
29 changes: 17 additions & 12 deletions js/meny.js
Expand Up @@ -57,9 +57,10 @@ var Meny = {
isActive = false,
isMouseDown = false;

var transformOrigin,
var menuTransformOrigin,
menuTransformClosed,
menuTransformOpened,
contentsTransformOrigin,
contentsTransformClosed,
contentsTransformOpened;

Expand Down Expand Up @@ -91,26 +92,30 @@ var Meny = {

switch( config.position ) {
case POSITION_TOP:
transformOrigin = '50% 0';
menuTransformClosed = 'rotateX( 30deg ) translateY( -100% ) translateY( 8px )';
menuTransformOrigin = '50% 0%';
menuTransformClosed = 'rotateX( 30deg ) translateY( -100% ) translateY( 6px )';
contentsTransformOrigin = '50% 0';
contentsTransformOpened = 'translateY( '+ config.height +'px ) rotateX( -15deg )';
break;

case POSITION_RIGHT:
transformOrigin = '100% 50%';
menuTransformClosed = 'rotateY( 30deg ) translateX( 100% ) translateX( -8px )';
menuTransformOrigin = '100% 50%';
menuTransformClosed = 'rotateY( 30deg ) translateX( 100% ) translateX( -2px ) scale( 1.01 )';
contentsTransformOrigin = '100% 50%';
contentsTransformOpened = 'translateX( -'+ config.width +'px ) rotateY( -15deg )';
break;

case POSITION_BOTTOM:
transformOrigin = '50% 100%';
menuTransformClosed = 'rotateX( -30deg ) translateY( 100% ) translateY( -8px )';
menuTransformOrigin = '50% 100%';
menuTransformClosed = 'rotateX( -30deg ) translateY( 100% ) translateY( -6px )';
contentsTransformOrigin = '50% 100%';
contentsTransformOpened = 'translateY( -'+ config.height +'px ) rotateX( 15deg )';
break;

default:
transformOrigin = '0 50%';
menuTransformClosed = 'rotateY( -30deg ) translateX( -100% ) translateX( 8px )';
menuTransformOrigin = '100% 50%';
menuTransformClosed = 'translateX( -100% ) translateX( 6px ) scale( 1.01 ) rotateY( -30deg )';
contentsTransformOrigin = '0 50%';
contentsTransformOpened = 'translateX( '+ config.width +'px ) rotateY( 15deg )';
break;
}
Expand All @@ -123,7 +128,7 @@ var Meny = {
addClass( dom.wrapper, 'meny-' + config.position );

dom.wrapper.style[ prefix( 'perspective' ) ] = '800px';
dom.wrapper.style[ prefix( 'perspectiveOrigin' ) ] = transformOrigin;
dom.wrapper.style[ prefix( 'perspectiveOrigin' ) ] = contentsTransformOrigin;
}

/**
Expand Down Expand Up @@ -178,7 +183,7 @@ var Meny = {
dom.menuElement.style.position = 'fixed';
dom.menuElement.style.zIndex = 1;
dom.menuElement.style[ prefix( 'transform' ) ] = menuTransformClosed;
dom.menuElement.style[ prefix( 'transformOrigin' ) ] = transformOrigin;
dom.menuElement.style[ prefix( 'transformOrigin' ) ] = menuTransformOrigin;
dom.menuElement.style[ prefix( 'transition' ) ] = 'all .5s ease';
}

Expand All @@ -188,7 +193,7 @@ var Meny = {
*/
function setupContents() {
dom.contentsElement.style[ prefix( 'transform' ) ] = contentsTransformClosed;
dom.contentsElement.style[ prefix( 'transformOrigin' ) ] = transformOrigin;
dom.contentsElement.style[ prefix( 'transformOrigin' ) ] = contentsTransformOrigin;
dom.contentsElement.style[ prefix( 'transition' ) ] = 'all .5s ease';
}

Expand Down
59 changes: 30 additions & 29 deletions js/meny.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 4e3cd23

Please sign in to comment.