Joe Auty![]()
Toggles the display of div elements, and triggers a YUI 3 Transition on the wrapper element to animate the surrounding region to fit the size of the new div
See https://github.com/joeauty/NetMusician-Resizer-YUI-Widget/blob/master/README.md
<script src="http://yui.yahooapis.com/3.5.1/build/yui/yui-min.js"></script>YUI({
//Last Gallery Build of this module
gallery:'gallery-2012.05.02-20-10'
}).use('gallery-nmresizer', 'event-delegate', 'node', function(Y) {
Y.delegate('click', function(e) {
e.preventDefault();
var nextthing = this.get('id').replace(/^showthing/,'');
var thisthing;
Y.all('#thingwrapper .thing').some(function(node) {
if (!node.hasClass('displaynone') && node.getStyle('display') !== "none") {
thisthing = node.get('id').replace(/^thing/,'');
return;
}
});
var nmresizer = new Y.Nmresizer();
nmresizer.loadAndResize({
olddiv:'#thing' + thisthing,
newdiv:'#thing' + nextthing,
animDuration:0.5,
resizediv:'#thingwrapper',
maxWidth:Y.one('body').get('winWidth') - 40,
maxHeight:Y.one('body').get('winHeight') - 40,
offsetHeight:0,
offsetWidth:0,
onStart:Y.bind(beforeResize),
onEnd:Y.bind(afterResize)
});
}, '#navwrapper', 'a');
function beforeResize(config) {
Y.one('#navwrapper #progress').setContent('Loading...');
Y.one('#thingwrapper').setStyles({
opacity:'0.5',
backgroundColor:'gray'
});
}
function afterResize(config) {
Y.one('#thingwrapper').setStyle('opacity', '');
switch (config.newdiv) {
case '#thing1':
Y.one(document.body).setStyle('background-color', 'black');
break;
case '#thing2':
Y.one(document.body).setStyle('background-color', 'orange');
break;
case '#thing3':
Y.one(document.body).setStyle('background-color', 'yellow');
break;
}
Y.one('#navwrapper #progress').setContent('');
}
});
© 2006-2013 Yahoo! Inc. All rights reserved.
All code on this site is licensed under the BSD License unless stated otherwise.
About This Site · Security Contact Info