//Martin Event.observe(window, 'load', function(e) { // Fade in on link clicking $('content').hide(); var contentEffectAppear = Effect.Appear($('content'), { 'duration': 0.5, afterFinish: function () { // Blink messages $$('.message').each(function (s) { Effect.Pulsate(s, {pulses: 1, duration: 1.0}); }); } }); // URL of link, if clicked var url = ''; // Link
  • DOM Element, if clicked var linkElement = null; // Link class $$('#links #mainLinks a').each(function (s) { Element.observe(s, 'click', function (e) { if (e.ctrlKey) { return; } $$('#links #mainLinks li').each( function(e) { if (e.hasClassName('current-page')) { linkElement = e; e.removeClassName('current-page'); } }); s.up('li').addClassName('current-page'); }); }); // Fade out on link clicking! $$('#links #mainLinks a, #subLinks a').each(function (s) { Element.observe(s, 'click', function(e) { if (e.ctrlKey) { return; } e.stop(); url = s; contentEffectAppear.cancel(); if (contentEffectFade) { contentEffectFade.cancel(); } var contentEffectFade = Effect.Fade($('content'), { 'duration': 0.25, 'afterFinish': function() { window.location = url; } }); }); }); // Reset states on page back Event.observe(window, 'focus', function(e) { if (!$('content').visible() && contentEffectAppear.state == 'finished') { $('content').show(); } if (linkElement) { $$('#links li').invoke('removeClassName', 'current-page'); linkElement.addClassName('current-page'); } }); });