Avatar billede alex15 Nybegynder
19. november 2008 - 19:20 Der er 10 kommentarer og
1 løsning

Problemet med <input type> buttom - image

Hej Eksperter,

Jeg er igang med at lave et slideshow af billeder til min hjemmeside. Og var ret træt af at hver gang jeg skulle trykke på knappen "næste billede". Så skulle den første opdaterer hele hjemmesiden. Så derfor fandt jeg en Javascrip kode som faktisk fungere som den skal. Pånær at jeg gerne vil have rettet knapper fra <input type="button"> til <input type"image">.. Hvilket jeg som signet har jeg problemet med.

Nogle forslag til hvordan jeg kan løse problemet?

Min kode ser således ud:

            <script language="JavaScript">
           
            //Preloaded slideshow script- By Jason Moon
            //For this script and more
            //Visit http://www.dynamicdrive.com
           
            // PUT THE URL'S OF YOUR IMAGES INTO THIS ARRAY...
            var Slides = new Array('billeder/pic1.jpg','billeder/pic2.jpg','billeder/pic3.jpg');
           
            // DO NOT EDIT BELOW THIS LINE!
            function CacheImage(ImageSource) { // TURNS THE STRING INTO AN IMAGE OBJECT
              var ImageObject = new Image();
              ImageObject.src = ImageSource;
              return ImageObject;
            }
           
            function ShowSlide(Direction) {
              if (SlideReady) {
                  NextSlide = CurrentSlide + Direction;
                  // THIS WILL DISABLE THE BUTTONS (IE-ONLY)
                  document.SlideShow.Previous.disabled = (NextSlide == 0);
                  document.SlideShow.Next.disabled = (NextSlide ==
            (Slides.length-1));   
            if ((NextSlide >= 0) && (NextSlide < Slides.length)) {
                        document.images['Screen'].src = Slides[NextSlide].src;
                        CurrentSlide = NextSlide++;
                        Message = 'Picture ' + (CurrentSlide+1) + ' of ' +
            Slides.length;
                        self.defaultStatus = Message;
                        if (Direction == 1) CacheNextSlide();
                  }
                  return true;
              }
            }
           
            function Download() {
              if (Slides[NextSlide].complete) {
                  SlideReady = true;
                  self.defaultStatus = Message;
              }
              else setTimeout("Download()", 100); // CHECKS DOWNLOAD STATUS EVERY 100 MS
              return true;
            }
           
            function CacheNextSlide() {
              if ((NextSlide < Slides.length) && (typeof Slides[NextSlide] ==
            'string'))
            { // ONLY CACHES THE IMAGES ONCE
                  SlideReady = false;
                  self.defaultStatus = 'Downloading next picture...';
                  Slides[NextSlide] = CacheImage(Slides[NextSlide]);
                  Download();
              }
              return true;
            }
           
            function StartSlideShow() {
              CurrentSlide = -1;
              Slides[0] = CacheImage(Slides[0]);
              SlideReady = true;
              ShowSlide(1);
            }
            </script>
       
            <form name="SlideShow">
                <div class="boks_1">
                <img name="Screen">
                </div>
                <div class="boks_2">
                <input type="button" name="Previous" value=" << " onClick="ShowSlide(-1)">
                <input type="button" name="Next" value=" >> " onClick="ShowSlide(1)">
                </div>
            </form>
       
            <body onLoad="StartSlideShow()">
           
            <div class="boks_3">
            <img style="margin:0px 15px 0px 15px;" src="billeder/left.jpg" />
            <img src="billeder/right.jpg" />
            </div>
Avatar billede alex15 Nybegynder
19. november 2008 - 19:21 #1
Avatar billede thesurfer Nybegynder
19. november 2008 - 19:45 #2
Hvis du bare vil have at de der pile-billeder skal opfører sig som knapperne, tilføjer du bare onclick-eventen på billederne:

            <img style="margin:0px 15px 0px 15px;" src="billeder/left.jpg" onClick="ShowSlide(-1)" />
            <img src="billeder/right.jpg" onClick="ShowSlide(1)" />
Avatar billede alex15 Nybegynder
19. november 2008 - 20:08 #3
Okay, så langt så godt.. Utroligt, synes jeg har prøvet den løsning før. Uden held. Men har åbenbart ikke gjort som dig.

Men hvorfor kan jeg ikke bare slette denne her kode:

<input type="button" name="Previous" value=" << " onClick="ShowSlide(-1)">
<input type="button" name="Next" value=" >> " onClick="ShowSlide(1)">

Det er som om at denne button knap, bare SKAL være der..! :S Hvilket jeg gerne vil undgå ;o)
Avatar billede thesurfer Nybegynder
19. november 2008 - 20:27 #4
Det er fordi der er referencer til dem her:

// THIS WILL DISABLE THE BUTTONS (IE-ONLY)
                  document.SlideShow.Previous.disabled = (NextSlide == 0);
                  document.SlideShow.Next.disabled = (NextSlide ==
            (Slides.length-1)); 

Slet de linier og fejlen skulle gerne forsvinde.
Avatar billede alex15 Nybegynder
19. november 2008 - 20:40 #5
Kæft du er sej..! 1000 tak. Har prøvet flere timer i over 2 dage nu på at få det løst uden held.. Men okay, har heller aldrig før siddet med java koder.. Men kunne være at jeg skulle begynde at kigge lidt på det nu.. Jo meget fede funktioner man kan med det sprog..

Laver du lige et svar? :o)

Forsat god dag.
Avatar billede thesurfer Nybegynder
19. november 2008 - 20:44 #6
Husk at der er forskel på Java og JavaScript.. de hedder næsten det samme, for at narre fjenden.. :-)

- Svar.
Avatar billede alex15 Nybegynder
19. november 2008 - 20:48 #7
Hehe, hov, Kan jeg sørge dig om én ting til.

Er det muligt ud fra ovenstående at få den til at skrive noget med:

<< 1 ud af 2 >>

Så man kan se hvilket billede man ser på. Og hvor mange der er i alt?
Avatar billede alex15 Nybegynder
19. november 2008 - 22:16 #8
<script type="text/javascript">
    document.write(Slides.length);
</script>

Sådan, nu har jeg fået den til at skrive hvor mange billeder der er ialt. Nu mangler jeg bare at få den til at skrive hvilket billede det er som jeg ser lige på nu.
Avatar billede alex15 Nybegynder
20. november 2008 - 16:03 #9
Du har ikke nogle forslag? :o)
Avatar billede thesurfer Nybegynder
20. november 2008 - 19:17 #10
Jo, jeg har et forslag.. :-)
Prøv lige at smide din nuværende kode op, så jeg kan se hvad du har gjort.. :-)
Avatar billede thesurfer Nybegynder
20. november 2008 - 19:27 #11
Lad os fortsætte her: http://www.eksperten.dk/spm/853557
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