Avatar billede jkampmann Nybegynder
24. januar 2008 - 10:48 Der er 3 kommentarer og
1 løsning

Javascript image scroller, fortæl hvornår den skal laves om

Hej, jeg sidder med et lille problem..

Jeg prøver at lave en javascript ajax scroller, som viser nogle tilfældig billederne, men eftersom den ikke skal vise flere på de forskellige rækker, skal den ændre billedet til et andet billede..

Problemet er bare, ligså snart jeg har kørt procession én gang, og vender tilbage og trykker på min scroller component, så laver den kuk i det..

Har lavet 2 pile, den ene kalder PreloadImagesLeft() og den anden Right().

Håber på lidt respons.

<script type="text/javascript">

var CreoMedia = new Object();

var StartPosition = {iL: '0',  iR: '0'};
var MaxPosition  = {iL: '10', iR: '8'};

var MyStartPosition = 0;
var MyEndPosition  = 0;

/**
    @creates dataholder
    @param - n, f, o - ()
    @coded {JKM}
**/

var Timer = setInterval("new CreoMedia.FadeTimeout()", 10000);

var MyDataHolder = new Object();
    MyDataHolder.RightExp = {dATA: 'missing'};
    MyDataHolder.LeftExp  = {dATA: 'missing'};


    CreoMedia.PreloadImagesLeft = function ()
    {
        if ( MyStartPosition >= MaxPosition['iL'] )
        {
            document.getElementById('LeftArrow').src = 'arrow_left_2.jpg';
            document.getElementById('RightArrow').src  = 'arrow_right.jpg';

            MyDataHolder.LeftExp['dATA'] = 'hashfilter';

            clearInterval(Timer);
            Timer = setInterval("new CreoMedia.FadeTimeout()", 10000);

            MyStartPosition = MyStartPosition - 1;

        } else {
            MyStartPosition = MyStartPosition + 1;

            document.getElementById('LeftArrow').src  = 'arrow_left.jpg';
           
        }
    };

    CreoMedia.PreloadImagesRight = function ()
    {
        if ( MyEndPosition >= MaxPosition['iR'] )
        {
            document.getElementById('RightArrow').src  = 'arrow_right_2.jpg';
            document.getElementById('LeftArrow').src  = 'arrow_left.jpg';

            MyDataHolder.RightExp['dATA'] = 'hashfilter';
         
            clearInterval(Timer);
            Timer = setInterval("new CreoMedia.FadeTimeout()", 10000);

            MyEndPosition = MyEndPosition - 1;
           
        } else {
            MyEndPosition = MyEndPosition + 1;
            document.getElementById('RightArrow').src  = 'arrow_right.jpg';



           
        }
    };


    CreoMedia.FadeTimeout = function ()
    {
              if ( MyDataHolder.RightExp['dATA'] == 'hashfilter' || MyDataHolder.LeftExp['dATA'] == 'hashfilter' )
              {
                    document.getElementById('RightArrow').src  = 'arrow_right.jpg';
                    document.getElementById('LeftArrow').src  = 'arrow_left.jpg';
              } else {
                  /** @ do nothing **/
              }
    };

    CreoMedia.LoadImages = function()
    {
          var iMG1 = new Image();
              iMG1.src = 'arrow_right.jpg';

          var iMG2 = new Image();
              iMG2.src = 'arrow_left.jpg';

          var iMG3 = new Image();
              iMG3.src = 'arrow_right_2.jpg';

          var iMG4 = new Image();
              iMG4.src = 'arrow_left_2.jpg';
    };
   

</script>
Avatar billede w13 Novice
24. januar 2008 - 13:25 #1
Hvilken slags kuk laver den? =)
Avatar billede jkampmann Nybegynder
24. januar 2008 - 14:16 #2
Jeg kan ikke forklare det.
Kan bare blive ved med at scrolle til siderne..
Avatar billede w13 Novice
24. januar 2008 - 21:38 #3
Kan vi se det i aktion et sted på nettet?
Avatar billede jkampmann Nybegynder
20. februar 2008 - 09:58 #4
Jeg lukker spørgsmålet, jeg fandt dog ingen løsning, men har fundet nyt arbejde, så arbejder ikke for Creomedia længere.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester