YUI().use('node', 'overlay', 'widget-anim', 'event', function(Y) {
var content = Y.one('#content'),
overlay = new Y.Overlay({
zIndex: 100,
srcNode: '#loadingOverlay',
width: content.getComputedStyle('width'),
height: content.getComputedStyle('height'),
centered: true,
constrain: content,
render: true,
visible: false,
plugins:[{
fn:Y.Plugin.WidgetAnim,
cfg: {
duration: 0.35
}}]
});
Y.one('a').on('click', function(e){
overlay.show(true);
var timer=Y.later( 1500, this, function(){
content.setContent(Y.one('#newContent'));
overlay.hide(true);
} , null, false);
e.preventDefault();
e.target.setStyle('visibility','hidden');
});
});
<div id="loadingOverlay">
<p> </p>
</div>
<a href="#">Test</a>
<div id="content">
<ul>
<li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li>
<li>Maecenas rutrum lacus tellus, et porta ante.</li>
<li>Vestibulum vel lorem quis lectus facilisis volutpat at ut sapien.</li>
<li>Maecenas vitae eros porta velit pulvinar condimentum at non nisi.</li>
<li>Sed vehicula libero augue, in ultrices dui.</li>
</ul>
<ul>
<li>Aenean elementum nunc at nulla euismod molestie.</li>
<li>Sed commodo est at ante rhoncus sollicitudin.</li>
</ul>
</div>
<div id="holder">
<div id="newContent">
<ul>
<li>Duis in augue felis, quis gravida dolor.</li>
<li>Aenean facilisis ante leo, et dignissim orci.</li>
</ul>
<ul>
<li>Fusce eu felis sed mi faucibus cursus.</li>
<li>Proin fermentum hendrerit nunc, ac facilisis purus pretium quis.</li>
</ul>
<ul>
<li>Sed nec risus eget sem gravida accumsan.</li>
<li>Nunc vel mauris vitae nunc porttitor pellentesque.</li>
</ul>
</div>
</div>
body {
padding: 50px;
font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
}
a {
color: #00B7FF;
margin-bottom:20px;
display:block;
}
.yui3-overlay-mask {
background: rgba(255, 255, 255, 0.75);
}
.yui3-widget #loadingOverlay {
display: block;
background: rgba(0, 0, 0, 0.5);
background-position: center center;
background-image: url('http://samples.apphb.com/ajax-loader-bar.gif');
background-repeat:no-repeat;
padding: 10px;
color:#ffffff;
margin:1px;
}
ul{padding:4px;}
#holder {display:none;}