• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

zählfunktion

Status
Für weitere Antworten geschlossen.

HTMLPro

Mitglied
hallo forum,
kennt jemanden nen einfachen code der 1%,2%,50%,100% usw.
zählt und danach ein link erscheint
soll ne art preloader werden.
thx htmlpro
 
ich würde dir ganz stark von einer %-anzeige abraten. ich hab das auch hinter mir. funktioniert nicht wirklich.
mach es einfach mit php und bisschen javascript.

ich habs so gemacht:
zwei divs, die übereinander liegen.
im ersten steht: "es wird geladen + ein animated giv, dass einen ladezustand anzeigt"
im zweiten steht: "fertig geladen + link >weiter gehts< "
und eindrittes div ohne jegliche position.
dort alles rein, was du laden willst.
dann mit css div2 und div3 ausblenden.
und noch ein bisschen javascript, dass bei onload div1 ausblendet und div2 einblendet.
fertig ;-)

kannst dir das auch mal auf meiner seite anschauen:
http://www.robertkalb.bplaced.net/genealogie/ahnentafel_preload.php
 
Mal abgesehen davon, dass die Ladezeiten durch solche Dinger noch zusätzlich erhöht werden, halte ich das für vollkommen sinnlos. Ist die Ladezeit zu lang, optimiert man die Präsenz, passt die Ladezeit, braucht man die Anzeige nicht, drittens kommt das einem Intro gleich, was mir persönlich total auf die Nerven geht.

Die Frage also, Wozu ?
 
Klar:
HTML:
<div></div>
<script type="text/javascript">

Function.prototype.Timer = function (i, c, evt) {
    var count = 0;
    var _this = this;
    var endFunction = function () {if (evt) evt();};
    
    (function f() {
        if (c > count  && _this(++count, c) != false) {
            window.setTimeout(f, i);
        } else {
            endFunction();
    }
  })();
};
function anzeige(c, max) {
    var e = document.getElementsByTagName('div');
    e[0].innerHTML = parseInt(c * max)  +'%';
}
function link() {
    var l = document.createElement('a');
    l.href = '#';
    l.innerHTML = 'link';
    var e = document.getElementsByTagName('div');
    e[0].appendChild(l);
}

anzeige.Timer(200, 10, link);

</script>
 
Zuletzt bearbeitet von einem Moderator:
Da sind einige Dinge in ES5 die ich für sehr zweifelhaft halte(nicht nur ich Web Reflection: [ECMAScript 5] Do Not Remove arguments.callee !).
Das und das Fehlen von arguments.caller sind in meinen Augen ein großer Fehler. Meine Skripte werden sicher nie strict.

EDIT: ich hab nun ein paar Artikel gelesen und test gemacht und zumindest das Argument das arguments.callee langsam ist läßt mich darüber nachdenken es nicht zu benutzen. Aber dann treten Schwierigkeiten mit dem IE auf (die ich aber grad nicht testen kann, mangels IE), ich änder aber den Code trotzdem um.
 
Zuletzt bearbeitet von einem Moderator:
funktioniert nicht nur weißer bildschirm?!
Funktioniert es mittlerweile auch bei dir?

Ich hab den Code getestet in folgenden Browsern Firefox 3.6 (WinXP + Ubuntu), IE 8 (win XP), Opera (Ubuntu), Safari (WinXP) überall lief es, warum bei dir nicht, ist nicht klar. Du weißt wo du in deinem Browser die Fehlerkonsole findest?
 
ich hab nen textdokument gemmacht als .html abgespeichert. ich habe einfach nur deinen code reinkopiert. ist dad falsch? dann mit ie8 und firefox gestestet
 
Mein Code ist kein vollständiges HTML Dokument.
Aber wenn was falsch ist, wird es doch z.b. in der Fehlerkonsole von Firefox angezeigt, ist die leer?
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben