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.
  5 613
Jeg er ikke så kjempeflink med javascript selv og har sittet og knotet litt med en funksjon uten å komme så langt så om noen kunne hjelpe meg så hadde det vært supert.

Det jeg prøver å lage er en slider, se koden her: slider


Slideren skal kontrollere 26 <div>er, hver div har en egen id.
Eksempel på div med id 3

Kode

<div id="3">
<h3>300</h3>
</div>
Det jeg vil er at kun de div'ene som er i sliderens intervall skal vises. Mitt eget forsøk for å skrive en funksjon for den første draknappen.

Kode

function unhide() {

    for (var i=0; i<=minid; i++)
    var item = document.getElementById(i)
    if (item) {
      item.className=(item.className=='hidden')?'unhidden':'hidden';
   }
}
Denne fungerer ok, problemet er at om man drar slideren fort så registrerer den ikke alle tallene, og skjuler heller ikke alle. Om man så drar slideren frem og tilbake et par ganger blir det bare kaos. Prøv selv

Det jeg trenger er å få funksjonen til å sjekke verdien til slideren, for så å skjule alle <div>er som ikke passer inn i intervallet.

Er det noen velvillige sjeler som kunne hjulpet meg litt med dette problemet? på forhånd takk.
NOOOOOOOOOOOOOOOOOO-
robhol's Avatar
Å ha en div per tall virker kolossalt tungvint for meg. Hva med en tekstboks med CSS for å få bort borders etc?
Du kan sette posisjon med CSS (med DIV, that is) og innhold med JS.
Sist endret av robhol; 31. oktober 2008 kl. 15:30.
Trådstarter
En tekstboks? Nå er jeg ikke helt med her, det er ikke bare tekst som skal være i DIVene, men bilder og andre ting også. <textarea> vil ikke fungere til dette. Eller var det noen annet du tenkte på?
▼ ... over en uke senere ... ▼
Vet ikke helt jeg, men ett enkelt tall for en tag er ikke så veldig heldig.
Vi gir heller alle diven ett par bokstaver_ID som navn istedefor.

Hvilken verdi har minID? Du bør jo gå igjennom en sjekk mellom HELE rangen for å skjule alt som ikke er innen det angitte aspektet?

Men anyways:

function unhide() {
for (var i=0; i<=minid; i++)
{
//Alle bokser må følge ABC_123
var item = document.getElementById("abc_" + i)
if (item.innerText==i)
{
item.style.display = "none"
}
else
{ //Hvis boksen har blitt skjult før så vil vi jo vise denne etterpå?
item.style.display = ""
}
}
}

Mangler { } til for løkka... Du manglet også å hente verdi ifra diven (.innerText).
Tviler på att DIV vil bli sann uansett hvor hardt du prøver.!
Husk at id ikke kan starte med tall. Men class kan (tror jeg).
Hei, takk for svar. Jeg har nå fått det til. Og du hadde rett, div'er kan ikke starte med tall.