Avatar billede dk-andersson Nybegynder
23. juni 2009 - 22:05 Der er 11 kommentarer og
1 løsning

images slide show

Hey

har fundt dette script på nette, men kan ikke rigtig
finde ud af at tilpasse det til ønskede funktion.

Min ide er et jeg i være side af slide showet har en pil.

Når man så holder musen over pilen til left - ja så køre billederne må left. og så det modsatte når man holder den over rigth.

Her er mit script:

<div id="slides" style="background-color:#333; border-bottom:2px solid #333;
    border-left:12px solid #333; border-right:12px solid #333; border-top:2px solid #333;
    clip:rect(0,960,194,0); height:194px; margin:auto; overflow:hidden; position:relative; width:960px;">
    <div id="sld1" style="display:inline; left:0; position:absolute;
    top:6px; white-space:nowrap; width:1224px;">
    <img src="http://www.parkenet.com/apl/resource/sbi01.jpg" style="height:175px; margin:4px; width:294px;" />
    <img src="http://www.parkenet.com/apl/resource/sbi02.jpg" style="height:175px; margin:4px; width:294px;" />
    <img src="http://www.parkenet.com/apl/resource/sbi03.jpg" style="height:175px; margin:4px; width:294px;" />
    <img src="http://www.parkenet.com/apl/resource/sbi04.jpg" style="height:175px; margin:4px; width:294px;" />
    </div>
  </div>
 
  <script type="text/javascript">
    <!--
    var Sld1_Len = Sld2_Len = 1224;
    var Sld_1 = 0;
    var Sld_2 = Sld_1 + Sld1_Len;
    Sld_Timer = window.setInterval("scrollSlides()",10);
   
    function scrollSlides()
    {
      --Sld_1;
      --Sld_2;
      if (Sld_1 < -Sld1_Len)
      Sld_1 = Sld_2-Sld2_Len;
      if (Sld_2 < -Sld2_Len)
      Sld_2 = Sld_1-Sld1_Len;
      document.getElementById("sld1").style.left = Sld_1+"px";
      document.getElementById("sld2").style.left = Sld_2+"px";
    }
    //-->
  </script>
Avatar billede dk-andersson Nybegynder
23. juni 2009 - 22:52 #1
fik næsten løst det selv nu.. men mangler bare en lille ting. Og det er hastigheden hvordan kan jeg lave en variable som sætter hastigheden på dette script her.

<a href="#" onmouseover="start_scroll('left');" onmouseout="window.clearInterval(scroll_left);">Left</a><br />
<a href="#" onmouseover="start_scroll('right');" onmouseout="window.clearInterval(scroll_right);">Right</a>
<div id="slides" style="background-color:#333; border-bottom:2px solid #333;
    border-left:12px solid #333; border-right:12px solid #333; border-top:2px solid #333;
    clip:rect(0,960,194,0); height:194px; margin:auto; overflow:hidden; position:relative; width:960px;">
    <div id="sld1" style="display:inline; left:0; position:absolute;
    top:6px; white-space:nowrap; width:1224px;">
    <img src="http://www.parkenet.com/apl/resource/sbi01.jpg" style="height:175px; margin:4px; width:294px;" />
    <img src="http://www.parkenet.com/apl/resource/sbi02.jpg" style="height:175px; margin:4px; width:294px;" />
    <img src="http://www.parkenet.com/apl/resource/sbi03.jpg" style="height:175px; margin:4px; width:294px;" />
    <img src="http://www.parkenet.com/apl/resource/sbi04.jpg" style="height:175px; margin:4px; width:294px;" />
    </div>
  </div>
 
  <script type="text/javascript">
    <!--
    var Sld1_Len = 1224;
      var Sld_1 = 0;
   
    function start_scroll(a) {
        if (a == 'left') {
            scroll_left = window.setInterval('scrollSlides_left()',10);
        } else {
          scroll_right = window.setInterval('scrollSlides_right()',10);
        }
    }
   
    function scrollSlides_left() {
      --Sld_1;
          document.getElementById("sld1").style.left = Sld_1+"px";
      }
     
      function scrollSlides_right() {
      ++Sld_1;
          document.getElementById("sld1").style.left = Sld_1+"px";
      }
    //-->
  </script>
Avatar billede majbom Novice
24. juni 2009 - 06:04 #2
prøv at ændre:

function start_scroll(a) {
        if (a == 'left') {
            scroll_left = window.setInterval('scrollSlides_left()',10);
        } else {
          scroll_right = window.setInterval('scrollSlides_right()',10);
        }
    }

til:

function start_scroll(a) {
        if (a == 'left') {
            scroll_left = window.setInterval('scrollSlides_left()',1);
        } else {
          scroll_right = window.setInterval('scrollSlides_right()',1);
        }
    }
Avatar billede dk-andersson Nybegynder
24. juni 2009 - 10:24 #3
Hej det er afprøvet og virkede ikke.. ved ikke lige hvordan jeg skal få den til at køre hurtiger.

Jeg kan vælge at sige at den skal flytte sig 2 px af gang, men så hakker den i grafiken og det er slet ikke fedt.
Avatar billede majbom Novice
24. juni 2009 - 10:43 #4
har du et link?

vil mene at det burde hjælpe at sætte intervallet ned...
Avatar billede roenving Novice
24. juni 2009 - 14:49 #5
-- normalt i javascript får du ikke hastigheds-ændringer, når du kommer ned under ca. 32 ms. ...
Avatar billede majbom Novice
24. juni 2009 - 19:57 #6
-> #5 - okay, det var jeg ikke klar over - ja så er den eneste løsning nok at få dettil at flytte sig flere pixels ad gangen...
Avatar billede dk-andersson Nybegynder
13. juli 2009 - 16:05 #7
har lige en ting mere..

hvordan kan jeg få den til at gentage sige selv.. Det vil sige når sld2 når left=0 så skal den køre sld1 og så sld2 og vidre..?

<div id="slides" style="background-color:#333; border-bottom:2px solid #333;
    border-left:12px solid #333; border-right:12px solid #333; border-top:2px solid #333;
    clip:rect(0,960,194,0); height:194px; margin:auto; overflow:hidden; position:relative; width:960px;">
    <div id="sld1" style="display:inline; left:0; position:absolute;
    top:6px; white-space:nowrap; width:1224px;">
    <img src="http://www.parkenet.com/apl/resource/sbi01.jpg" style="height:175px; margin:4px; width:294px;" />
    <img src="http://www.parkenet.com/apl/resource/sbi02.jpg" style="height:175px; margin:4px; width:294px;" />
    <img src="http://www.parkenet.com/apl/resource/sbi03.jpg" style="height:175px; margin:4px; width:294px;" />
    <img src="http://www.parkenet.com/apl/resource/sbi04.jpg" style="height:175px; margin:4px; width:294px;" />
    </div>
  </div>

  <script type="text/javascript">
    <!--
    var Sld1_Len = Sld2_Len = 1224;
    var Sld_1 = 0;
    var Sld_2 = Sld_1 + Sld1_Len;
    Sld_Timer = window.setInterval("scrollSlides()",10);
 
    function scrollSlides()
    {
      --Sld_1;
      --Sld_2;
      if (Sld_1 < -Sld1_Len)
      Sld_1 = Sld_2-Sld2_Len;
      if (Sld_2 < -Sld2_Len)
      Sld_2 = Sld_1-Sld1_Len;
      document.getElementById("sld1").style.left = Sld_1+"px";
      document.getElementById("sld2").style.left = Sld_2+"px";
    }
    //-->
  </script>
Avatar billede majbom Novice
14. juli 2009 - 08:11 #8
det kan sikkert gøres smartere, men her er min løsning:

<script type="text/javascript">
    <!--
    var Sld1_Len = 1224;
    var Sld_1 = 0;
    var Sld_2 = Sld1_Len;
    Sld_Timer = window.setInterval("scrollSlides()",10);

    function scrollSlides(){
        if(Sld_1<0-Sld1_Len){
            Sld_1 = Sld1_Len;
        }
        if(Sld_2<0-Sld1_Len){
            Sld_2 = Sld1_Len;
        }
        --Sld_1;
        --Sld_2;
        document.getElementById("sld1").style.left = Sld_1+"px";
        document.getElementById("sld2").style.left = Sld_2+"px";
    }
    //-->
</script>
Avatar billede dk-andersson Nybegynder
12. oktober 2010 - 10:46 #9
lukker
Avatar billede majbom Novice
12. oktober 2010 - 21:30 #10
løst?
Avatar billede dk-andersson Nybegynder
12. oktober 2010 - 21:48 #11
Ja fik det løst
Avatar billede majbom Novice
12. oktober 2010 - 23:14 #12
hvad blev løsningen?
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