tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
179
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    iloveratte iloveratte ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    13
    Hallo

    Ich habe hier ein Code, bei dem eine bildvorschau läd, dies alle sekunde, bild 1 - 3, eine art Videovorschau.

    bei onmouseover wird die Videoquelle mitgegeben, sobald nach der ersten sekunde auf das bild 2 umgeschaltet wird, ist die uberegebene Variable "undefiniert", obwohl der mauszeiger noch über dem bild ist. kann mir da jemand weiterhelfen?


    PHP-Code:
    <script language=\"JavaScript\">

    var wechselzeit = 1000;
    var counter = 1;

    function bildwechsel(vorschaubild)
        {
        if (counter <= 3)
            {
            document.getElementById(vorschaubild).src = 'http://www.xyz.ch/neu/' + vorschaubild + '_' + counter + '.gif';
            setTimeout (\"bildwechsel(vorschaubild)\",wechselzeit);
            }
            else
            {
            counter = 1;
            bildwechsel(vorschaubild);
            }
        counter = counter+1;
        }
    </script>"
    ;

    echo 
    "<img src=\"http://www.xyz.ch/neu/AghJke_1.gif\" name=\"AghJke\" onmouseover=\"bildwechsel('AghJke')\" border=\"0\">"

    Danke für die Hilfe
    Geändert von iloveratte (26.09.11 um 09:09 Uhr)
     

  2. #2
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Ich gebe zu ich wußte es auch nicht aber ich habe nach der Lösung gesucht:

    Ändere mal diese Zeile:

    Code :
    1
    
    setTimeout (\"bildwechsel(vorschaubild)\",wechselzeit);

    so ab:

    Code :
    1
    
    setTimeout (function(){bildwechsel(vorschaubild);},wechselzeit);
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  3. #3
    iloveratte iloveratte ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    13
    Hallo, wow, genau jetzt funktioniert es, suppi!

    allerdings habe ich gerade gemerkt, das wenn ich den Mauszeiger wegnehme, das ganze weiterläuft, wie kann ich die Funktion Stoppen? z.B. bei einem "onmouseout"?

    Alternativ mit "clearTimeout" hat jemand erfahrung gemacht?

    mercy
    Geändert von iloveratte (26.09.11 um 10:10 Uhr)
     

  4. #4
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Erstelle dir eine zusätzliche Funktion die beim MouseOut aufgerufen wird und in dieser gibst du dann die clearTimeout-Anweisung an.

    Du musst allerdings beim Starten den Prozess an globale eine Variable übergeben und diesen Variablennamen musst du bei ClearTimeout mit angeben.
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  5. #5
    iloveratte iloveratte ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    13
    PHP-Code:
    <script language="JavaScript">

    var 
    counter 1;

    function 
    bildwechsel(play_stopp,vorschaubild)
        {
        if (
    play_stopp == 'PLAY')
            {
            if (
    counter <= 3)
                {
                
    document.getElementById('AghJke').src 'http://www.xyz.ch/neu/' vorschaubild '_' counter '.gif';
                
    setTimeout (function(){bildwechsel(play_stopp,vorschaubild);},2000); 
                }
                else
                {
                
    counter 1;
                
    bildwechsel(play_stopp,vorschaubild);
                }
            
    counter counter+1;
            }
        
        if (
    play_stopp == 'STOPP')
            {
            
    document.getElementById('AghJke').src 'http://www.xyz.ch/neu/' vorschaubild '_1.gif';
            
    clearTimeout (function(){bildwechsel(play_stopp,vorschaubild);},2000); 
            }
        }
    </script> 
    <img src="http://www.xyz.ch/neu/AghJke_1.gif\" name="AghJke" onmouseover="bildwechsel('PLAY','AghJke')" onmouseout="bildwechsel('STOPP','AghJke')" border="0">


    also so das ich innerhalb der Funktion eine qart "start" "Stopp" habe. jedoch funktioniert dies nicht. weiss jemand rat?
     

  6. #6
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Nein eine zusätzliche Funktion zum Stoppen.

    HTML-Code:
    <script language="JavaScript\">
    
    var wechselzeit = 1000;
    var counter = 1;
    var bw;
    
    function bildwechsel(vorschaubild) { 
        if (counter <= 3) 
            { 
            document.getElementById(vorschaubild).src = 'http://www.xyz.ch/neu/' + vorschaubild + '_' + counter + '.gif'; 
            bw = setTimeout (function(){bildwechsel(vorschaubild);},wechselzeit);
            } 
            else 
            { 
            counter = 1; 
            bildwechsel(vorschaubild); 
            } 
        counter = counter+1; 
    } 
    function stopp() {
       clearTimeout(bw);
    }
    </script>"; 
    
    echo "<img src=\"http://www.xyz.ch/neu/AghJke_1.gif\" name=\"AghJke\" onmouseover=\"bildwechsel('AghJke')\" onmouseout=\"stopp();\" border=\"0\">";
    Ist nicht getestet, sollte aber so klappen.
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  7. #7
    iloveratte iloveratte ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    13
    Wow, superklasse, das funktioniert tip top, besten Dank..
     

Ähnliche Themen

  1. Antworten: 12
    Letzter Beitrag: 30.08.09, 13:10
  2. JavaScript, nach OnClick Wert an Inputfeld Übergeben.
    Von Crazy_down im Forum Javascript & Ajax
    Antworten: 11
    Letzter Beitrag: 24.09.07, 09:53
  3. JavaScript, nach OnClick Wert an Inputfeld Übergeben.
    Von Crazy_down im Forum HTML & XHTML
    Antworten: 0
    Letzter Beitrag: 20.09.07, 16:10
  4. PHP-Wert an JavaScript übergeben
    Von mokaschitta im Forum PHP
    Antworten: 14
    Letzter Beitrag: 11.04.07, 16:12
  5. OnMouseOver mittels javascript ?
    Von steinbruch im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 10.05.04, 19:26