Header Fader v1.0

Header Fader v2.0

Test Test Test
Test Test Test

Quelle: http://www.twinhelix.com/dhtml/headerfader/

<script type="text/javascript">
//<![CDATA[
<!--
// HEADER FADER ANIMATION (c) 2004-2009 Angus Turnbull http://www.twinhelix.com
function HeaderFader(tagName, colors)
{
        this.tagName = tagName; // Pass "h1" or similar.
        this.colors = colors; // An array of colours in order.
        this.left = true; // false for right-aligned.
        this.frames = 20;
        this.elements = [];

        var obj = this;
        if (window.addEventListener) {
                window.addEventListener('load', function() {
                        obj.setup();
                }, false);
        } else {
                var oldOnload = window.onload;
                window.onload = function() {
                        if (oldOnload) oldOnload();
                        obj.setup();
                }
        }
};

HeaderFader.prototype.setup = function() {
        this.elements = document.getElementsByTagName(this.tagName);
        for (var h = 0; h < this.elements.length; h++) {
                var h1 = this.elements[h],
                        text = h1.firstChild.nodeValue;
                h1.removeChild(h1.firstChild);
                h1.animNodes = [];
                for (var i = 0; i < text.length; i++) {
                        var span = document.createElement('span');
                        span.appendChild(document.createTextNode(text.substring(i, i+1)));
                        h1.appendChild(span);
                        h1.animNodes[h1.animNodes.length] = span;
                }
                h1.animCount = 0;
                var obj = this;
                h1.animTimer = setInterval((function(hh) {
                        return function() {
                                obj.animate(hh);
                        }
                }(h)), 50);
        }
};

HeaderFader.prototype.animate = function(h) {
        var h1 = this.elements[h], c = h1.animCount++, noAnim = 1;
        for (var i = 0; i < h1.animNodes.length; i++) {
                var s = h1.animNodes[i],
                        pc = (this.left ? (c-i) : (c-(h1.animNodes.length+this.frames-i))),
                        frac = Math.max(0, Math.min(1, pc/this.frames)),
                        marg = document.all && !window.opera ? 'marginRight' : 'marginLeft';
                if (s.animDone) continue;
                noAnim = 0;
                s.style.color = this.colors[Math.floor(frac * 0.99999 * this.colors.length)];
                if (frac == 1) {
                        s.style[marg] = '0';
                        s.animDone = 1;
                } else {
                        s.style[marg] = 0.6*(1-frac) + 'em';
                }
        }
        if (noAnim) {
                clearInterval(h1.animTimer);
        }
        h1.style.visibility = 'inherit';
};

// SCRIPT SETUP
if (document.documentElement)
{
        // Hide H1 elements for animation and trigger show on load.
        document.write('<style type="text/css"> h1 { visibility: hidden } <\/style>');
        // Off we go!
        var h1Anim = new HeaderFader(
                'h1',
                ['#FFFFFF', '#DDDDDD', '#BBBBBB', '#999999', '#777777', '#555555']
        );
        //h1Anim.left = true; // Try setting to false if using text-align: right;
        //h1Anim.frames = 10;
}
-->
//]]>
</script>

Loading

Best view in firefox.

Excel-Formeln etc. *
zum Forum *

* in Bearbeitung

Feedback

∂ιє νєяgαηgєηнєιт нαт мι¢н zυ ∂єя ρєяѕση gємα¢нт ∂ιє ι¢н нєυтє вιη.