Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  21 1763
God når det gjelder
Carmex's Avatar
Hei, jeg trenger et javascript som skifter mellom to bilder(gif, png, swf, jpg) må støtte de ivhvertfall. Det som er greien er at de må skifte på tid.

Eneste jeg vil er at jeg enkelt skal kunne skifte ut bildene og tid.

En imagerotator

For meg er dette verdt et par hundrelapper, noen som kunne hjulpet meg?
Bare to bilder?
Sjekk ut www.slides.js. De har mange forskjellige, enkle til avanserte Javascript-slides.
God når det gjelder
Carmex's Avatar
Trådstarter
Sitat av waf Vis innlegg
Bare to bilder?
Vis hele sitatet...
Foreløpig ja, jeg har ikke fått inn alle annonsene enda. Men jeg tror det lander på 3 eller 4.

Sitat av Kugie Vis innlegg
Sjekk ut www.slides.js. De har mange forskjellige, enkle til avanserte Javascript-slides.
Vis hele sitatet...
Takk for tipset, kikket innom, men jeg får ikke dette til selv.
▼ ... over en uke senere ... ▼
Du fant altså ut på 4 minutter at du ikke fikk det til selv?
http://www.tizag.com/javascriptT/jav...-innerHTML.php
endrer du innholdet til <img src="bilde.jpg"> eller hva du nå ønsker inne i diven.
Jeg gjør det lett for et par hundrelapper.
Dette gjøres veldig enkelt med jQuery. Eksempel:

Kode

<html>
<head>
  <script src="jquery-1.7.1.min.js">
  </script>
  <script>
    function swapImages(){
      var $active = $('#galleri .active');
      var $next = ($('#galleri .active').next().length > 0) ? $('#galleri .active').next() : $('#galleri img:first');
      $active.fadeOut(function(){
      $active.removeClass('active');
      $next.fadeIn().addClass('active');
      });
    }

    $(document).ready(function(){
      // Run our swapImages() function every 5secs
      setInterval('swapImages()', 5000);
    });
  </script>
  <style>
    #galleri{
      position:relative;
      width:400px; 
      height:300px; 
    }
    #galleri img{
      display:none;
      position:absolute;
      top:0;
      left:0;
    }
    #galleri img.active{
      display:block;
    }
  </style>
</head>
<body>
  <div id="galleri">
    <img src="image1.jpg" class="active" />
    <img src="image2.jpg" />
    <img src="image3.jpg" />
  </div>
</body>
</html>
jQuery (som du ser jeg linker i head) kan du laste ned her http://docs.jquery.com/Downloading_jQuery . Dersom du ikke får det til selv kan jeg være behjelpelig med å implementere det.
z0p
uʍop ǝpısdn
z0p's Avatar
prinsippet er veldig enkelt.

Demonstrasjon av koden nedenfor her


Kode

<html>
  <head>
  <title>Bilderotering</title>
  <style type="text/css">
    #ad-container > * { display: block; }
    #ad-container #active-ad { display: block; }
  </style>
  </head>
  <body>
    <div id="ad-container">
      <img id="active-ad" src="http://t3.gstatic.com/images?q=tbn:ANd9GcSN0oUK__cYS3CIELAwz41FnXxUDP4F_08_tkOd4OnwzZsLahNbRQ" />
      <img src="http://t3.gstatic.com/images?q=tbn:ANd9GcR1JWBf3lUlWXngbdWIgF7_3rEnCOFikevhUq5lyZemPypifx2iRw" />
    </div>
  </body>
  
  <!-- 
       Javascript lastes etter at vesentlig DOM elementer er lastet inn 
       Dersom det ønskes å laste inn tidligere må man ty til onLoad eller 
       utvide feilhåndtering i script
    -->
  <script type="text/javascript">
    // Funksjon for å sile ut siblings som ikke er elementer. teksnoder etc.
    function getAd(el) {
      do el = el.nextSibling;
      while (el && el.nodeType != 1);
      return el;
    }
    
    // Hovedfunksjonen for å loope igjennom bilder/annonser
    function rotateAd() {
      // Finn elementet som er identifisert som "active-ad"
      var currentAd = document.getElementById('active-ad');
      // Finn neste annonse for nåværende annonse eller den første i "ad-container"
      var nextAd = getAd(currentAd) || getAd(document.getElementById('ad-container').firstChild);
      // gjem nåværende annonse
      currentAd.style.display = 'none';
      // deaktiver/uidentifiser nåværende
      currentAd.id = '';
      // vis neste annonse
      nextAd.style.display = 'block';
      // aktiver neste annonse 
      nextAd.id = 'active-ad';
      // Sett en timer som kjører denne rutinen om x antall millisekoner. 
      // Her satt til 2000 millisekunder / 2 sekunder 
      var t = setTimeout('rotateAd()', 2000);
    }
    
    // kjør rotateAd-funksjonen for første gang for å starte en timet loop
    // gjennom annonsene
    rotateAd();
  </script>
</html>
Eksemplet viser prinsippet, men er neppe dekkende i et faktisk system
Sist endret av z0p; 27. mars 2012 kl. 22:20.
Legger også ved en demonstrasjon på koden jeg la ut.
▼ ... over en uke senere ... ▼
God når det gjelder
Carmex's Avatar
Trådstarter
Hei, vet tråden har blitt litt gammel, men ville bare si at dere løste problemet mitt, gratis til og med! Kjempe takknemlig for dette!
Sitat av Carmex Vis innlegg
For meg er dette verdt et par hundrelapper, noen som kunne hjulpet meg?
Vis hele sitatet...
Du hintet jo til betaling for dette, og da synes jeg du burde kontakte den som viste seg å ha løsningen du gikk for, og holde det du sa.

Du vill i allefall gjøre en person veldig glad + få en flott samvittighet
God når det gjelder
Carmex's Avatar
Trådstarter
Var kanskje litt kjapp til og si at det hadde løst seg.

Av en eller annen grunn fungerer ikke denne koden:

Kode

<html>
<head>
  <script src="jquery-1.7.1.min.js">
  </script>
  <script>
    function swapImages(){
      var $active = $('#galleri .active');
      var $next = ($('#galleri .active').next().length > 0) ? $('#galleri .active').next() : $('#galleri img:first');
      $active.fadeOut(function(){
      $active.removeClass('active');
      $next.fadeIn().addClass('active');
      });
    }

    $(document).ready(function(){
      // Run our swapImages() function every 5secs
      setInterval('swapImages()', 5000);
    });
  </script>
  <style>
    #galleri{
      position:relative;
      width:1045px; 
      height:150px; 
    }
    #galleri img{
      display:none;
      position:absolute;
      top:0;
      left:0;
    }
    #galleri img.active{
      display:block;
    }
  </style>
</head>
<body>
  <div id="galleri">
    <img src="http://***********/storage/rotator/test/Canon.swf" class="active" />
    <img src="http://***********/storage/rotator/test/Ricoh_Animert-banner_1045x150px_NO_032012-1.gif" />
    
  </div>
</body>
</html>
Lei...
Sist endret av Carmex; 10. april 2012 kl. 20:15.
Enten: Last ned jQuery.
Eller: Link direkte til jQuerys kildekode.
Sist endret av raze; 10. april 2012 kl. 20:44.
God når det gjelder
Carmex's Avatar
Trådstarter
Sitat av raze Vis innlegg
Enten: Last ned jQuery.
Eller: Link direkte til jQuerys kildekode.
Vis hele sitatet...
Hvordan kan jeg linke direkte til jQuerys kildekode?
Sitat av Carmex Vis innlegg
Hvordan kan jeg linke direkte til jQuerys kildekode?
Vis hele sitatet...
Du kan linke til

Kode

http://code.jquery.com/jquery-1.7.2.min.js
Hva med noe så enkelt som:

Kode

var imgInt = 0;

function changeImgSrc () {
  var img = document.getElementById ("ID_TIL_IMG_TAG");

  var imgArray = {
    "bilde1.jpg",
    "bilde2.png",
    "bilde3.gif",
    [...]
  };

  img.src = imgArray [imgInt % 3];
}

setInterval ("changeImgSrc();", 10000);
Har ikkje testet koden, men den skal fungere. Må bare huske på å endre [imgInt % 3] til det antallet du har bilder av. Har du 4 så sett % 4.
Sist endret av 0xFF; 10. april 2012 kl. 23:12.
Sitat av 0xFF Vis innlegg
Har ikkje testet koden, men den skal fungere.
Vis hele sitatet...
Kanskje du burde ha testet..?
z0p
uʍop ǝpısdn
z0p's Avatar
0xFF: De færreste vil like å sette url til bilder i javascript kilde. Dvs. at du gjerne må generere javascript-kode før den sendes til klienten.

imgInt % 3 vil alltid bli 0, såvidt jeg kan se...
Sitat av z0p Vis innlegg
0xFF: De færreste vil like å sette url til bilder i javascript kilde. Dvs. at du gjerne må generere javascript-kode før den sendes til klienten.

imgInt % 3 vil alltid bli 0, såvidt jeg kan se...
Vis hele sitatet...

Ja, du har rett, jeg har glemt imgInt++.
Sist endret av 0xFF; 11. april 2012 kl. 17:58.
God når det gjelder
Carmex's Avatar
Trådstarter
Sitat av tormaroe Vis innlegg
Du kan linke til

Kode

http://code.jquery.com/jquery-1.7.2.min.js
Vis hele sitatet...
Nå fungerer scriptet, men den vil ikke vise .swf filen..?
z0p
uʍop ǝpısdn
z0p's Avatar
*.swf er ikke et bilde, men flash.

se f.eks Flash HTML Code for å se hvordan du embedder flash i HTML