Ergebnis 1 bis 11 von 11
  1. #1
    sungod ist offline Mitglied
    registriert
    28-11-2007
    Beiträge
    49

    Javascript Slideshow geht nicht

    Hallo,

    Ich habe mit ein script besorgt für eine slideshow mit übergängen.
    so weit so gut hier die datei slideshow.js:


    PHP-Code:
    // Set slideShowSpeed (milliseconds)
        
    var slideShowSpeed 1000

    // Duration of crossfade (seconds)
        
    var crossFadeDuration 3

    // Specify the image files
        
    var Pic_Natur = new Array('pics/slideshow_natur/0001.jpg',
                                  
    'pics/slideshow_natur/0002.jpg',
                                  
    'pics/slideshow_natur/0003.jpg',
                                  
    'pics/slideshow_natur/0004.jpg',
                                  
    'pics/slideshow_natur/0005.jpg',
                                  
    'pics/slideshow_natur/0006.jpg',
                                  
    'pics/slideshow_natur/0007.jpg')



                                  
    var 
    timer_Natur
    var Bildzaehler_Natur 0                   //aktueller zähler beim durchlaufen
    var Bildanzahl_Natur Pic_Natur.length //anzahl der elemente im array

    var preLoad_Natur = new Array()



    for (
    i_Natur 0i_Natur Bildanzahl_Naturi_Natur++){
       
    preLoad_Natur[i_Natur] = new Image()
       
    preLoad_Natur[i_Natur].src Pic_Natur[i_Natur]
    }



    // Begin Funktion SldeShow Natur
        
    function runSlideShow_Natur(){
           if (
    document.all){
              
    document.images.SlideShow.style.filter="blendTrans(duration=2)"
              
    document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
              
    document.images.SlideShow.filters.blendTrans.Apply()      
           }
           
    document.images.SlideShow.src preLoad_Natur[Bildzaehler_Natur].src
           
    if (document.all){
              
    document.images.SlideShow.filters.blendTrans.Play()
           }
           
    Bildzaehler_Natur Bildzaehler_Natur 1    // pro bild eins dazu zählen
           
    if (Bildzaehler_Natur > (Bildanzahl_Natur-1)) Bildzaehler_Natur=0    // ist der zähler größer als die bildanzahl dann zähler auf 0 setzen
           
    timer_Natur setTimeout('runSlideShow_Natur()'slideShowSpeed)            //verzögert diese Funktion um die angegebene zeit
        

    eingebunden wird sie mit:

    HTML-Code:
    <script type="text/javascript" src="javascript/slideshow.js"></script>
    In meiner html-datei habe ich also eine ausgeblendete ebene "Frame_Slideshow" und 3 buttons.
    in dieser ebene liegt ein bild:
    HTML-Code:
    <img src="pics/slideshow_natur/0001.jpg" name='SlideShow' width=1024 height=768>
    Mit einem klick auf einen button mit
    PHP-Code:
    onClick="Javascript:document.getElementById('Frame_Slideshow').style.visibility='';runSlideShow_Natur();" 
    wird die ebene eingeblendet und die slideshow gestartet.
    mit einem klick auf die ebene wird sie wieder ausgeblendet.

    so nun mein problem.

    ich habe mit das script so umgebastelt das ich 3 slideshows darin unterbringen möchte und die sich je nachdem auf welchen butten ich klicke in der ebene öffnet.

    hier der code der 3 buttons:
    PHP-Code:
    onClick="    Javascript:document.getElementById('Frame_Slideshow').style.visibility='';runSlideShow_Natur();"
    onClick="    Javascript:document.getElementById('Frame_Slideshow').style.visibility='';runSlideShow_Privat();"
    onClick="    Javascript:document.getElementById('Frame_Slideshow').style.visibility='';runSlideShow_Dia();" 
    und hier der code die neuen slideshow.js-Datei:

    PHP-Code:
    // Set slideShowSpeed (milliseconds)
        
    var slideShowSpeed 8000

    // Duration of crossfade (seconds)
        
    var crossFadeDuration 3

    // Specify the image files
    var Pic_Natur = new Array('pics/slideshow_natur/0001.jpg',
                                  
    'pics/slideshow_natur/0002.jpg',
                                  
    'pics/slideshow_natur/0003.jpg',
                                  
    'pics/slideshow_natur/0004.jpg',
                                  
    'pics/slideshow_natur/0005.jpg',
                                  
    'pics/slideshow_natur/0006.jpg',
                                  
    'pics/slideshow_natur/0007.jpg')
                        
    var 
    Pic_Privat = new Array('pics/slideshow_privat/0001.jpg',
                                  
    'pics/slideshow_privat/0002.jpg',
                                  
    'pics/slideshow_privat/0003.jpg',
                                  
    'pics/slideshow_privat/0004.jpg',
                                  
    'pics/slideshow_privat/0005.jpg',
                                  
    'pics/slideshow_privat/0006.jpg',
                                  
    'pics/slideshow_privat/0007.jpg')
                                  
    var 
    Pic_Dia = new Array('pics/slideshow_dia/0001.jpg',
                                  
    'pics/slideshow_dia/0002.jpg',
                                  
    'pics/slideshow_dia/0003.jpg')




    var 
    t_Natur
    var j_Natur 0
    var p_Natur Pic_Natur.length //anzahl der elemente im array

    var preLoad_Natur = new Array()
    for (
    i_Natur 0i_Natur p_Naturi_Natur++){
       
    preLoad_Natur[i_Natur] = new Image()
       
    preLoad_Natur[i_Natur].src Pic_Natur[i_Natur]
    }


    var 
    t_Privat
    var j_Privat 0
    var p_Privat Pic_Privat.length

    var preLoad_Privat = new Array()
    for (
    i_Privat 0i_Privat p_Privati_Privat++){
       
    preLoad_Privat[i_Privat] = new Image()
       
    preLoad_Privat[i_Privat].src Pic_Privat[i_Privat]
    }


    var 
    t_Dia
    var j_Dia 0
    var p_Dia Pic_Dia.length

    var preLoad_Dia = new Array()
    for (
    i_Dia 0i_Dia p_Diai_Dia++){
       
    preLoad_Dia[i_Dia] = new Image()
       
    preLoad_Dia[i_Dia].src Pic_Dia[i_Dia]
    }




    // Begin Funktion SlideShow Natur
        
    function runSlideShow_Natur(){
           if (
    document.all){
              
    document.images.SlideShow.style.filter="blendTrans(duration=2)"
              
    document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
              
    document.images.SlideShow.filters.blendTrans.Apply()      
           }
           
    document.images.SlideShow.src preLoad_Natur[j_Natur].src
           
    if (document.all){
              
    document.images.SlideShow.filters.blendTrans.Play()
           }
           
    j_Natur j_Natur 1
           
    if (j_Natur > (p_Natur-1)) j_Natur=0
           t_Natur 
    setTimeout('runSlideShow_Natur()'slideShowSpeed)
        }

    // Begin Funktion SldeShow Privat
        
    function runSlideShow_Privat(){
           if (
    document.all){
              
    document.images.SlideShow.style.filter="blendTrans(duration=2)"
              
    document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
              
    document.images.SlideShow.filters.blendTrans.Apply()      
           }
           
    document.images.SlideShow.src preLoad_Privat[j_Privat].src
           
    if (document.all){
              
    document.images.SlideShow.filters.blendTrans.Play()
           }
           
    j_Privat j_Privat 1
           
    if (j_Privat > (p_Privat-1)) j_Privat=0
           t_Privat 
    setTimeout('runSlideShow_Privat()'slideShowSpeed)
        }

    // Begin Funktion SldeShow Dia
        
    function runSlideShow_Dia(){
           if (
    document.all){
              
    document.images.SlideShow.style.filter="blendTrans(duration=2)"
              
    document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
              
    document.images.SlideShow.filters.blendTrans.Apply()      
           }
           
    document.images.SlideShow.src preLoad[j].src
           
    if (document.all){
              
    document.images.SlideShow.filters.blendTrans.Play()
           }
           
    1
           
    if (> (p-1)) j=0
           t 
    setTimeout('runSlideShow_Dia()'slideShowSpeed)
        } 

    nundas problem ist nicht das die slideshow nicht läuft, sondern das alle bilder durcheinander laufen und die slideshow im hintergrund (wenn die ebene unsichtbar ist), weiterläuft. ich sitze nun schon seit 2 tagen nach feierabend daran und bekomme es einfach nicht hin.

    kann mir denn jemand helfen?

    danke im vorraus schon mal.

    grüße

  2. #2
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.672

    AW: Javascript Slideshow geht nicht

    Wenn du willst, dass die anderen Slider nicht weiterlaufen, musst du sie schon anhalten (window.clearTimeout(); )

  3. #3
    sungod ist offline Mitglied
    registriert
    28-11-2007
    Beiträge
    49

    AW: Javascript Slideshow geht nicht

    hi,
    vielleicht habe ich mich etwas komisch ausgedrückt!

    also ich habe einen DIV, der beim start versteckt ist.

    klicke ich auf den link 1 wird der DIV sichtbar und die diashow startet in diesem DIV mit bildern aus dem ordner A.
    klicke ich auf den DIV stoppt die diashow und der DIV wird wieder versteckt.
    klicke ich auf den link 2 wird der div wieder sichtbar und die diashow startet in diesem DIV mit bildern aus dem ordner B.

    die bilder sollten auch übergeblendet werden. das geht glaube hier mit: "document.images.SlideShow.filters.blendTrans.Play()"

    P.S. der DIV ist immer der selbe!!!!
    so sollte es im grunde laufen.
    das scipt oben funktioniert zwar, jedoch werden alle bilder aus dem ordner A und B durcheinander angezeigt!

    Irgendjemand eine Tolle Idee?
    Das soll für meinen Touchscreen im flur in der wand werden.

  4. #4
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.672

    AW: Javascript Slideshow geht nicht

    Hm, ich kann mir grob vorstellen, warum es nicht geht (liegt zum einen daran, dass du die Slider nicht stoppst und zum anderen daran, dass du immer die selbe IMG-Node verwendest), aber stell' doch mal eine Testseite ins Netz.

  5. #5
    sungod ist offline Mitglied
    registriert
    28-11-2007
    Beiträge
    49

    AW: Javascript Slideshow geht nicht

    hallo,

    habe das ganze jetzt mal als rar-datei hochgeladen.
    HIER >>>Download<<<

    hoffe jetzt kannst du mich verstehen...

    grüße

  6. #6
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.672

    AW: Javascript Slideshow geht nicht

    Ja, ist so wie ich es vermutet und schon ganz am Anfang gesagt habe - du musst deine Slider schon anhalten. Z.B. mit so einem Code:
    Code:
    function stopSlideShow_All(){
    	window.clearTimeout(t_Natur);
    	window.clearTimeout(t_Privat);
    	window.clearTimeout(t_Dia);
    }
    PS: Du weißt schon, dass dein Code 9 Jahre alt ist - und damit vollig veraltet. Auch ist er nicht wirklich gut geschrieben. So ein Faden bekommt man in jedem neuen Browser hin - auch ohne Filter. Außerdem würde ich dein Problem objektorientiert lösen - ist weniger Schreibarbeit und besser zu verwalten.

  7. #7
    js_fussel ist offline Jungspund
    registriert
    13-02-2009
    Ort
    Gladbeck
    Beiträge
    14

    AW: Javascript Slideshow geht nicht

    Zitat Zitat von kkapsner Beitrag anzeigen
    Ja, ist so wie ich es vermutet und schon ganz am Anfang gesagt habe - du musst deine Slider schon anhalten. Z.B. mit so einem Code:
    Code:
    function stopSlideShow_All(){
    	window.clearTimeout(t_Natur);
    	window.clearTimeout(t_Privat);
    	window.clearTimeout(t_Dia);
    }
    PS: Du weißt schon, dass dein Code 9 Jahre alt ist - und damit vollig veraltet. Auch ist er nicht wirklich gut geschrieben. So ein Faden bekommt man in jedem neuen Browser hin - auch ohne Filter. Außerdem würde ich dein Problem objektorientiert lösen - ist weniger Schreibarbeit und besser zu verwalten.
    ... gibt es dafür schon ein fertiges Beispiel ?

    Gruß php_fussel

  8. #8
    sungod ist offline Mitglied
    registriert
    28-11-2007
    Beiträge
    49

    AW: Javascript Slideshow geht nicht

    hi,

    vielen dank. es funktioniert super.
    ja, ich hab fast keine ahnung von js, daher muss ich immer auf scripte aus dem netz zurückgreifen.
    habe da noch 3 fragen wenn ich darf,


    also es geht auch noch kleinerer code?
    zum beispiel?

    mir ist heut nacht noch eingefallen das ein pase, play, bild zurück und bild vor funktion ganz hilfreich wären, wenn man mal ein bild anhalten möchte um es sich länger anzusehen.

    und ich habe ein script gefunden das jeden tag einen neuen spruch der tages anzeigt, jedoch bleibt der spruch ewig stehen, weil das datum ja nur einmal abgefragt wird. wie kann man das ändern?

    vielen dank für deine hilfe schonmal.

    grüße aus berlin, stefan

  9. #9
    sungod ist offline Mitglied
    registriert
    28-11-2007
    Beiträge
    49

    AW: Javascript Slideshow geht nicht

    achso, das js für den spruch des tages -> download

    es bird aufgerufen mit:
    <script type="text/javascript" src="javascript/zitate.js"></script>
    und dann ein einem div mit
    <SCRIPT LANGUAGE="JavaScript">Tip_des_Tages()</script>

    stefan

  10. #10
    sungod ist offline Mitglied
    registriert
    28-11-2007
    Beiträge
    49

    AW: Javascript Slideshow geht nicht

    ja, werde es noch reinstellen

    grüße

  11. #11
    sungod ist offline Mitglied
    registriert
    28-11-2007
    Beiträge
    49

    AW: Javascript Slideshow geht nicht

    hi, da bin ich wieder aus der nachtschicht.

    hier nin die slideshow fertig zum download!
    >>> Download hier <<<

Ähnliche Themen

  1. Javascript durch Link auf 2. Seite ausführen??
    Von Bass-T im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 27-06-2008, 11:35
  2. Integer in JavaScript?
    Von Hi iam CDATA im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 28-02-2007, 16:19
  3. Verständnisproblem mit PHP Script und JavaScript
    Von krusty007 im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 24-10-2006, 10:11
  4. Button ohne Funktion - wenn JavaScript deaktiert ist
    Von andie_71 im Forum JavaScript
    Antworten: 9
    Letzter Beitrag: 18-04-2005, 09:13
  5. javascript im javascript
    Von goonsite im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 08-04-2005, 20:25

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •