zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden zu komplizierter Code?

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 16.08.2009, 03:20
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 31.07.2009
Beiträge: 40
Iago befindet sich auf einem aufstrebenden Ast
Standard zu komplizierter Code?

Hallo, in dem folgenden Beispiel wird mit einem oder-Operator sichergestellt, dass, wenn step keinen Wert enthält, step 0 ist.

step = step || 0;

Wäre es da nicht einfacher mit dem Eventhandler (ganz unten) eifach gleich
0 zu übergeben, oder habe ich da etwas übersehen?? Danke!!


Code:
<script type="text/javascript">
        function fade(step) {
            var imgs = document.getElementsByTagName("img");

            step = step || 0;

            imgs[1].style.opacity = step/100;
            imgs[1].style.filter = "alpha(opacity=" + step + ")"; // IE

            step = step + 2;

            if (step <= 100) {
                window.setTimeout(function () { fade(step); }, 1);
            }
        }
    </script>
</head><body>
    <h1>Einfacher Fader</h1>
    <p style="position:relative;">
        <img src="images/berge1.jpg" alt="">
        <img src="images/berge2.jpg" alt=""
            style="position:absolute; left:0; top:0; opacity:0; filter:alpha(opacity=0)">
    </p>
    <p><a href="javascript:fade()">überblenden</a></p>
Gruß, Iago
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 16.08.2009, 10:40
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.458
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Zitat:
step = step || 0;
wird step nicht ändern (or 0 tut nichts). Deine Funktion ruft sich rekursiv
auf, der Timer sollte auch vor der weiteren Verwendung gelöscht werden. Ich
würde step global definieren und das dann laufen lassen.
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 16.08.2009, 12:05
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 31.07.2009
Beiträge: 40
Iago befindet sich auf einem aufstrebenden Ast
Standard

Hi, o.k. sorry, ich bin in dem Metier noch nicht so weit fortgeschritten

einfach so global definieren???:

var step = 0;

Gruß, Iago
Mit Zitat antworten
  #4 (permalink)  
Alt 16.08.2009, 13:39
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.458
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Ja, außerhalb einer function ist die dann global.
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
  #5 (permalink)  
Alt 16.08.2009, 14:44
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.843
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

Globale Variablen sind IMMER eine schlechte Idee.

Variablen sollten so lokal wie möglich sein.

Du könntest die Funktion auch einfach mit "0" als Parameter aufrufen, das tut hier nichts zur Sache.
Hier wird einfach dafür gesorgt, dass man sich um den Parameter nicht kümmern muss.
Mit Zitat antworten
  #6 (permalink)  
Alt 16.08.2009, 22:45
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.458
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Zitat:
Zitat von mantiz Beitrag anzeigen
Globale Variablen sind IMMER eine schlechte Idee.
Ok - begründe das bitte mal schlüssig. Ich diskutiere da germe mal 'drüber ...
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
  #7 (permalink)  
Alt 17.08.2009, 01:50
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Iago Beitrag anzeigen
Hallo, in dem folgenden Beispiel wird mit einem oder-Operator sichergestellt, dass, wenn step keinen Wert enthält, step 0 ist.

step = step || 0;

Wäre es da nicht einfacher mit dem Eventhandler (ganz unten) eifach gleich
0 zu übergeben, ...
Nein, beim zweiten aufruf ist step ja 2, dann 4, 6, 8 - der oder Operator soll verhindern, dass step undefiniert ist. Eine globale Variabel ist hier nicht nötig.
Mit Zitat antworten
  #8 (permalink)  
Alt 17.08.2009, 17:29
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 31.07.2009
Beiträge: 40
Iago befindet sich auf einem aufstrebenden Ast
Standard

Mantiz schreibt:

Zitat:
Hier wird einfach dafür gesorgt, dass man sich um den Parameter nicht kümmern muss.
Warum sollte man sich nicht um den Parameter kümmern müssen??
Sorry für die nervigen Fragen!!

Gruß, Iago
Mit Zitat antworten
  #9 (permalink)  
Alt 17.08.2009, 19:32
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Die Formulierung ist nicht ganz korrekt, es wird, wie ich bereits sagte, einfach verhindert, dass der Wert undefiniert ist.
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 17.08.2009, 19:35
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 31.07.2009
Beiträge: 40
Iago befindet sich auf einem aufstrebenden Ast
Standard

Das ganze hab ich von SELFHTML!!
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
HTML mit PHP Code aus Datenbank auslesen + ausführen Garlandt Serveradministration und serverseitige Scripte 14 01.05.2011 13:45
Wort in Javascript Code einfügen; dann Javascript Code ausgeben Sp33dy G0nz4l3s Javascript & Ajax 1 23.05.2008 10:37
DOM und (XML mit HTML CODE) verarbeiten WIE? silence_le Serveradministration und serverseitige Scripte 4 18.06.2007 18:33
Php Code und Html Code in Variable ausführen? The Sayan Serveradministration und serverseitige Scripte 17 23.01.2007 02:00
XHTML und CSS Code auszeichnen Lloyd Larkin Barrierefreiheit 11 20.07.2006 08:51


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:33 Uhr.