tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
654
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Jul 2003
    Ort
    Gronau, Nordrhein-Westfalen, Germany, Germany
    Beiträge
    634
    Hi Leute!

    Ich versuche eine kleine Slideshow (nix großartiges) zu erstellen.
    Ich lasse erstmal Code sprechen
    PHP-Code:
    <script type="text/javascript">
                var intv;
                var pics = new Array();
                var pic_names = new Array();
                var curr_pic = 0;
                var interv;
                
                function start() {
                    intv = document.form.intv.value+"000";
                    intv = parseFloat(intv);
                    interv = window.setInterval("give_new_pic()",intv);
                }
                <?
                    $dir 
    opendir("pics/".$row['folder']);
                    while (
    $file readdir($dir)) {
                        if (
    $file != "." AND $file != "..") {
                            if (
    count(explode("_thb",$file)) != 2) {
                                
    $pics[] = $file;
                            }
                        }
                    }
                    
    closedir($dir);
                    
    sort($pics);
                    for (
    $i=0;$i<=count($pics)-1;$i++) {
                        
    ?>
                            pic_names[<?=$i?>] = "pics/<?=$row['folder']?>/<?=$pics[$i]?>";
                            pics[<?=$i?>] = new Image;
                            pics[<?=$i?>].src = pic_names[<?=$i?>];
                        <?
                    
    }
                    
    $pic_anz count($pics);
                
    ?>
                function give_new_pic() {
                    if (curr_pic == <?=$pic_anz?>) {
                        curr_pic = 0;
                    }
                    document.img.src = pics[curr_pic].src;
                    curr_pic++;
                }
                
                function stop() {
                    window.clearInterval(interv);
                }
            </script>
    Sollte ja selbsterklärend sein
    Was mich nun verwundert ist, das das Script im Mozilla Funktionsfähig ist, jedoch im IE einen Fehler in der "start()" Funktion meldet...

    /€dit:
    Für die die kein PHP können ():
    PHP-Code:
    <?
                    $dir 
    opendir("pics/".$row['folder']);
                    while (
    $file readdir($dir)) {
                        if (
    $file != "." AND $file != "..") {
                            if (
    count(explode("_thb",$file)) != 2) {
                                
    $pics[] = $file;
                            }
                        }
                    }
                    
    closedir($dir);
                    
    sort($pics);
                    for (
    $i=0;$i<=count($pics)-1;$i++) {
                        
    ?>
                            pic_names[<?=$i?>] = "pics/<?=$row['folder']?>/<?=$pics[$i]?>";
                            pics[<?=$i?>] = new Image;
                            pics[<?=$i?>].src = pic_names[<?=$i?>];
                        <?
                    
    }
                    
    $pic_anz count($pics);
                
    ?>
    Macht nichts anderes als das Array "pics" zu füllen...

    Hoffe mir kann da jmd. helfen!

    Danke
    Geändert von Operator_Jon (24.07.04 um 17:32 Uhr)
     

  2. #2
    Registriert seit
    Jan 2004
    Ort
    Hamburg
    Beiträge
    192
    Ich habe 2 Vermutungen:
    Code :
    1
    2
    3
    4
    5
    
    function start() { 
                    intv = document.form.intv.value+"000";  //1
                    intv = parseFloat(intv); 
                    interv = window.setInterval("give_new_pic()",intv); //2
                }
    1) JavaScript kann sich manchmal nicht entscheiden (oder ist undurchschaubar in der Erkennungsmethode ), und intv wird hier als Float gerechnet, sprich: es kommt intv als ergebnis zurueck, und nicht intv mit drei Nullen dahinter.

    2.) Um ehrlich zu sein, kenn ich diesen Befehl nicht, meinst du vielleicht setTimeOut()? Der geht im IE.

    HTH
     
    MfG Alexander Surma


    Bist du des Lebens nicht mehr froh, dann springst du halt in das H20!

  3. #3
    Registriert seit
    Jul 2003
    Ort
    Gronau, Nordrhein-Westfalen, Germany, Germany
    Beiträge
    634
    Ok...
    Code :
    1
    2
    3
    4
    5
    
    function start() { 
                    intv = document.form.intv.value+"000";  //1
                    intv = parseFloat(intv); 
                    interv = window.setInterval("give_new_pic()",intv); //2
    }
    1) Ist doch klar intv wird mit dem Wert (z.b. 3) belegt und es werden 3 Nullen angehängt. Nun ist intv aber ein String, um ihn zu einer Zahl zu konvertieren um mit selbiger weiterarbeiten zu können muss ich die Variable ja erst umwandeln!

    2) : http://de.selfhtml.org/javascript/ob...m#set_interval
     

  4. #4
    Registriert seit
    Jan 2004
    Ort
    Hamburg
    Beiträge
    192
    nagut... sorry
     
    MfG Alexander Surma


    Bist du des Lebens nicht mehr froh, dann springst du halt in das H20!

  5. #5
    Registriert seit
    Jul 2003
    Ort
    Gronau, Nordrhein-Westfalen, Germany, Germany
    Beiträge
    634
    Ok, blöder Fehler!
    Code :
    1
    2
    3
    4
    
    function start() {
    ...
    <input type="button" value="Start" onClick="javascript:start()">
    ...
    muss einfach ersetzt werden durch:
    Code :
    1
    2
    3
    4
    
    function starte() {
    ...
    <input type="button" value="Start" onClick="javascript:starte()">
    ...
    z.B.
    Naja, mal wieder was neues gelernt, undzwar das die Funktion "start()" im IE ein reservierter Name ist

    Trotzdem Danke
     

Ähnliche Themen

  1. Slideshow
    Von jackassol im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 15.03.10, 19:11
  2. Slideshow
    Von blubbbla im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 06.12.07, 20:08
  3. Slideshow
    Von nhl-hockey-king im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 04.05.07, 09:50
  4. Slideshow
    Von gamespoint im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 22.06.05, 23:37
  5. slideshow
    Von Microhome im Forum PHP
    Antworten: 2
    Letzter Beitrag: 28.08.04, 14:53