[JavaScript] HILFE Problemen mit 2 SlideShow

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JavaScript] HILFE Problemen mit 2 SlideShow

    Hallo, ich weiss nicht wass ich Falsch mache.
    I versuche eine Dia-Show auf meine Seite zu stellen. Das geht gut und alle Bilder (1-5) kann ich sehen. Aber jetzt kommt das Problem. Wann ich noch eine Dia-Show auf dieselbe Seite dazu stelle, mit Bilder (6-10), dann passiert das folgendes:
    Auf Dia-Show-1 sehe ich Bilder 6-10 und auf Dia-Show sehe ich nur eine Bild und zwar nr.6.
    Wer kann mir helfen dieses Problem zu lösen, so das auf Dia-Show-1 Bilder 1-5 zu sehen sind und auf Dia-Show-2 Bilder 6-10.
    Ich nutze folgendes HTML und Script:

    <html>

    <head>
    <script language="JavaScript1.2" src="slide2.js"></script>
    <script language="JavaScript1.2" src="diasl2.js"></script>
    </head>
    <body onload="runSlideShow()" onload="runSLShow()">
    <div style="position:absolute;left:282;top:322;visibility:visible">
    <table border="0" bgcolor="#8080FF" cellspacing="0" cellpadding="7">
    <tr>
    <td id="VU" height=82 width=142>
    <img src="1.jpg" name='SlideShow' alt="" width=140 height=80></td>
    </tr>
    </table></div>

    <div style="position:absolute;left:382;top:432;visibility:visible">
    <table border="0" bgcolor="#8080FF" cellspacing="0" cellpadding="7">
    <tr>
    <td id="VU" height=82 width=142>
    <img src="6.jpg" name='SLShow' alt="" width=140 height=80></td>
    </tr>
    </table></div>

    </body>
    </html>

    SCRIPT: “slide2.js”

    var slideShowSpeed = 3000;

    var crossFadeDuration = 3;

    var Pic = new Array();

    Pic[0] = '1.jpg'
    Pic[1] = '2.jpg'
    Pic[2] = '3.jpg'
    Pic[3] = '4.jpg'
    Pic[4] = '5.jpg'

    var t;
    var j = 0;
    var p = Pic.length;
    var preLoad = new Array();
    for (i = 0; i < p; i++) {
    preLoad[i] = new Image();
    preLoad[i].src = Pic[i];
    }
    function runSlideShow() {
    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();
    }
    j = j + 1;
    if (j > (p - 1)) j = 0;
    t = setTimeout('runSlideShow()', slideShowSpeed);
    }


    SCRIPT "diasl2.js" ist fast selbe wie SCRIPT “slide2.js” nur ist das –SlideShow- überal ersetzt mit –SLShow- und die Bilder sind auch geändert:

    Pic[0] = '6.jpg'
    Pic[1] = '7.jpg'
    Pic[2] = '8.jpg'
    Pic[3] = '9.jpg'
    Pic[4] = '10.jpg'

    Gruss
    Jarin
    Zuletzt geändert von Jarin; 23.08.2003, 13:39.

  • #2
    Re: [JavaScript] HILFE Problemen mit 2 SlideShow

    Original geschrieben von Jarin
    SCRIPT "diasl2.js" ist fast selbe wie SCRIPT “slide2.js” nur ist das –SlideShow- überal ersetzt mit –SLShow- und die Bilder sind auch geändert
    ich bezweifle, dass das ausreicht.

    auch die anderen variablen musst du umbenennen, da sonst z.b.

    t = setTimeout('runSlideShow()', slideShowSpeed);

    aus dem ersten script im zweiten überschrieben wird.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Vielen dank Wahsaga.
      Hab alle variabelen wie t (=w), j (=k), p (=q) und preLoad (=preSLoad) ersetzt, (hofentlich hab ich nichts vergessen) aber das einzige was ich habe erreicht ist, dass jetzt in Dia-Show-1 sind die Bilder 1-5 (das ist GUT!!), aber Dia-Show-2, hab ich nur immer das Bild nr. 6.
      Dass heisst dass problem ist for 50% gelöst.

      Das script diasl2 sieht jetzt aus:var slideShowSpeed = 3000


      var crossFadeDuration = 3

      var Pic = new Array() // don't touch this

      Pic[0] = '6.jpg'
      Pic[1] = '7.jpg'
      Pic[2] = '8.jpg'
      Pic[3] = '9.jpg'
      Pic[4] = '10.jpg'

      isIE=document.all;
      isNN=!document.all&&document.getElementById;
      isN4=document.layers;
      isHot=false;

      function ddInit(e){
      topDog=isIE ? "BODY" : "HTML";
      whichDog=isIE ? document.all.theLayer : document.getElementById("theLayer");
      hotDog=isIE ? event.srcElement : e.target;
      while (hotDog.id!="titleBar"&&hotDog.tagName!=topDog){
      hotDog=isIE ? hotDog.parentElement : hotDog.parentNode;
      }
      if (hotDog.id=="titleBar"){
      offsetx=isIE ? event.clientX : e.clientX;
      offsety=isIE ? event.clientY : e.clientY;
      nowX=parseInt(whichDog.style.left);
      nowY=parseInt(whichDog.style.top);
      ddEnabled=true;
      document.onmousemove=dd;
      }
      }

      function dd(e){
      if (!ddEnabled) return;
      whichDog.style.left=isIE ? nowX+event.clientX-offsetx : nowX+e.clientX-offsetx;
      whichDog.style.top=isIE ? nowY+event.clientY-offsety : nowY+e.clientY-offsety;
      return false;
      }

      function ddN4(whatDog){
      if (!isN4) return;
      N4=eval(whatDog);
      N4.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
      N4.onmousedown=function(e){
      N4.captureEvents(Event.MOUSEMOVE);
      N4x=e.x;
      N4y=e.y;
      }
      N4.onmousemove=function(e){
      if (isHot){
      N4.moveBy(e.x-N4x,e.y-N4y);
      return false;
      }
      }
      N4.onmouseup=function(){
      N4.releaseEvents(Event.MOUSEMOVE);
      }
      }

      function hideMe(){
      if (isIE||isNN) whichDog.style.visibility="hidden";
      else if (isN4) document.theLayer.visibility="hide";
      }

      function showMe(){
      if (isIE||isNN) whichDog.style.visibility="visible";
      else if (isN4) document.theLayer.visibility="show";
      }

      document.onmousedown=ddInit;
      document.onmouseup=Function("ddEnabled=false");

      var w;
      var k = 0;
      var q = Pic.length;

      var preSLoad = new Array()
      for (i = 0; i < q; i++){
      preSLoad[i] = new Image();
      preSLoad[i].src = Pic[i];
      }

      function runSLShow(){
      if (document.all){
      document.images.SLShow.style.filter="blendTrans(duration=2)";
      document.images.SLShow.style.filter="blendTrans(duration=crossFadeDuration)";
      document.images.SLShow.filters.blendTrans.Apply();
      }
      if (!isN4) document.images.SLShow.src = preSLoad[k].src;
      if (isN4) document.layers['theLayer'].document.images['SLShow'].src = preSLoad[k].src;
      if (document.all){
      document.images.SLShow.filters.blendTrans.Play();
      }
      k = k + 1;
      if (k > (q-1)) k=0;
      w = setTimeout('runSLShow()', slideShowSpeed);
      }
      Zuletzt geändert von Jarin; 24.08.2003, 00:55.

      Kommentar


      • #4

        Das problem is gelöst: body muss sein:

        <body onload="runSlideShow();runSLShow()">

        Kommentar

        Lädt...
        X