Skip to content

Instantly share code, notes, and snippets.

@jhurliman
Created April 10, 2014 07:04
Show Gist options
  • Save jhurliman/10349947 to your computer and use it in GitHub Desktop.
Save jhurliman/10349947 to your computer and use it in GitHub Desktop.
famo.us Slide Panel
/*globals define*/
define(function(require, exports, module) {
'use strict';
// import dependencies
var Engine = require('famous/core/Engine');
var Surface = require('famous/core/Surface');
var Modifier = require('famous/core/Modifier');
var Transform = require('famous/core/Transform');
var Utility = require('famous/utilities/Utility');
// create the main context
var mainContext = Engine.createContext();
var mainView = new Surface({
size: [undefined, undefined],
classes: ['main-view'],
properties: {
'background-color': 'orange'
}
});
var mainModifier = new Modifier({});
var panel = new Surface({
size: [200, undefined],
properties: {
'background-color': 'green'
}
});
var panelModifier = new Modifier({
origin: [1, 0]
});
mainContext.add(panelModifier).add(panel);
mainContext.add(mainModifier).add(mainView);
var panelOpen = false;
mainView.on('click', function() {
mainModifier.halt();
mainModifier.setTransform(Transform.translate(panelOpen ? 0 : -200, 0), { duration: 220 });
panelOpen = !panelOpen;
});
});
@jhurliman
Copy link
Author

Needs this CSS:

.main-view { z-index: 1; }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment