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.
  1 484
Hei,

jeg har et design, enkelt design bygget med divs, en topp en main og en bunn.
Jeg ønsker at topp og bunn skal være statisk like (designet rundt main).

Men vil at innholdet i main skal rullere. For eksempel vil jeg kunne vise vg.no eller dagbladet.no i mainruta (bare for å ta et eksempel). Jeg ønsker at innholdet skal skifte/rullere vært 20 sekund.

Jeg har fått til å skifte hele siden ved å gjøre følgende.

Kode

<script type="text/javascript">
<!--
function delayer(){
    window.location = "nesteside.php"
}
//-->
</script>

<body onLoad="setTimeout('delayer()', 15000)">
Men da må jeg lage designet på hver av sidene.

Hvordna kan jeg få bare innholdet i ruta til å skifte? Include fungerer jo fint med PHP, men vet ikke hvordan jeg skal få den til å skifte regelmessig? Uten at resten oppdaterer seg..
Javascript / Ajax er kanskje tingen? Uten at jeg vet hvordan..

Noen forslag?
z0p
uʍop ǝpısdn
z0p's Avatar
Det er vel mulig å bruke forskjellige løsninger. Men det høres ut som en AJAX løsning vil passe deg best. Jeg vil da anbefale deg å generere DOM clientside, og kun hente data fra server via JSON, noe som vil være raskere.
Om du skal bruke AJAX vil jeg anbefale et godt javascript-bibliotek, som f.eks jquery (http://jquery.com/).


Du kan også bruke iframe, men det er jo en litt skitten løsning.

Kode

var urlArray = [
    "http://www.mydomain.no/null.htm",
    "http://www.mydomain.no/en.htm"];

     var visits = 0;


function refreshIframe(){
    var ifrm = document.getElementById('myiframeid');
    if(visits <= urlArray.length){
        visits = 0;
    }
    ifrm.setAttribute('src', urlArray[visits]);
    visits++;
}

function init(){
    setTimeout('refreshIframe()', 1000);
}

window.onload=init;
Denne vil fungere med dokumenter fra ditt eget domene. Dersom du skal ha documenter fra andre domener må du inkludere en serverside løsning som lar deg hente forskjellige dokumenter fra samme url.