Avatar billede xicrow Nybegynder
07. september 2007 - 15:54 Der er 3 kommentarer og
1 løsning

Slide-in effekt på indhold

Hej Eksperter.

Sidder og roder med noget JavaScript til at "slide" indholdet ind på en side.

Jeg er rimelig nybegynder indenfor JavaScript, men er indtil videre kommet frem til det her:

// <-- CONFIG
var element_position_out = -580;
var element_position_in = 5;
var element_slide_speed = 10;
var content_boxes = new Array();
    content_boxes[0] = "content_1";
    content_boxes[1] = "content_2";
    content_boxes[2] = "content_3";
    content_boxes[3] = "content_4";
// CONFIG -->

var element_position = element_position_out;
var element_slide_out;
var element_slide_in;

function slide_element(element)
    {
    // Show the content-bar
    document.getElementById("content_bar").style.visibility = "visible";
   
    // Hide the other content-boxes
    var x;
    for (x in content_boxes)
        {
        if (content_boxes[x] != element)
            {
            document.getElementById(content_boxes[x]).style.left = element_position_out;
            }
        }
   
    // Slide in the new content-box
    document.getElementById(element).style.left = element_position_out;
    element_slide_in = setInterval("func_slide_element('" +element+ "');", 1);
    }
function func_slide_element(element)
    {
    if (element_position < element_position_in)
        {
        element_position = element_position + element_slide_speed;
        window.document.getElementById(element).style.left = element_position;
        }
    else
        {
        clearInterval(element_slide_in);
        element_position = element_position_out;
        // Hide the content-bar
        document.getElementById("content_bar").style.visibility = "hidden";
        }
    }

Det virker som sådan også fint nok, i IE7, men da jeg testede det i FireFox 2, så "slider" indholdet ikke ind, den popper bare frem i stedet, samt (gælder både IE og FF) hvis man klikker 2 gange (dobbelt-klik) på en af linksne til at vise indhold, så bliver indholdet ved med at "slide" ind hele tiden, igen og igen, osv.

Nogen der kan hjælpe mig her?

/xicrow
Avatar billede jhe-ting Nybegynder
09. september 2007 - 06:46 #1
Prøv med:
  if (element_slide_in) clearInterval(element_slide_in);
som første linje i funktionen 'slide_element', så undgås dobbeltkonfekt.

Sæt enhed på alle ...style.left = pos + "px":
Avatar billede xicrow Nybegynder
09. september 2007 - 11:38 #2
ok, det med at sætte "px" på elementet fik den til at virke i FireFox, sådan da, jeg har sat den til at køre funktionen, når siden loader, og der virker sliden, men når jeg trykker på nogen links til at skifte indhold, så sker der ingen ting ???

Har du en ide til hvad det kan være ?
Avatar billede xicrow Nybegynder
09. september 2007 - 12:19 #3
Ok har fået det løst nu, men har et andet problem nu, som jeg slet ikke forstår.

Det er en DIV (content) jeg slider ind i en anden DIV (placeholder). Placeholder har en style på overflow=hidden, så content ikke bliver vist før den er inde i placeholder. Og for at undgå at de forskellige content-DIV skal drille hinanden, bliver den content-DIV de er aktiv flyttet tilbage til startposition, når en ny loades.

Men problemet er så, at jeg har en content-DIV med en form i, og hvis jeg har loadet den DIV, og så vælger en anden, så bliver forment ikke skjult, den stikker bare ud af siden af skærmen ???
Har også forsøgt at sætte style visibility=hidden, når jeg skjuler DIV's, men stadig ingen effekt på formen.

Kan du hjælpe mig her ?
Avatar billede xicrow Nybegynder
09. september 2007 - 12:51 #4
Ok, så er den også fixet...

Du får lige point for din hjælp

/xicrow
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

IT-JOB

Politiets Efterretningstjeneste

CNE-specialist til PET`s indhentningsafdeling

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Nye kolleger søges til IT Stab i Forsvaret

Politiets Efterretningstjeneste

Bliv IT-supporter i PET's IT Servicedesk

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Analytiker til Security Operations Center i Cyberdivisionen

European Stonecraft

Intern Navision/BC Supporter