Hvordan animerer jeg dette billede/div

Tags:    jquery

<< < 12 > >>
Hejsa,

Jeg har nogen billeder på forsiden af en webshop, som jeg har lavet en meget lille animation til (opacity onmouseover).

Det ser således ud:
Fold kodeboks ind/udJScript kode 


Elementet der animeres er pakket ind i flg HTML:
Fold kodeboks ind/udHTML kode 


Det jeg gerne vil opnå er at når animationen er færdig, dvs når billedet vises med opacity 1.0 - Så vil jeg gerne lave det sådan at den div lige under billedet, animeres ind. <div class="info_div">TEST...</div>

Dvs. så den slides op fra bunden af billedet, og vises først med f.eks. opacity 0.1 og ender på f.eks. 0.8.

Samt at den forsvinder onmouseout.

Inde i den div er det så meningen at jeg vil have lidt beskrivende produkt information.

Men jeg er et fjols til at bruge JQuery, og Javascript, for at være ærlig.

Jeg har forsøgt med følgende men det virker ikke:
Fold kodeboks ind/udJScript kode 


Hvordan kan de to funktioner integreres, så den div boksen (<div class="info_div">TEST...</div>;) "ruller op", fra bunden af billedet efter det er animeret helt færdigt?

Håber der er en eller flere JQuery folk der kan se det.



Indlæg senest redigeret d. 20.02.2012 18:26 af Bruger #16555
11 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Er ikke sikker på om jeg har forstået det korrekt, men vil tro du skal skrive noget i den her stil
Fold kodeboks ind/udJScript kode 




Hej Kenneth,

Tak for svaret!

Det ser jo meget logisk ud når du skriver det :-)

Jeg har lige indsat det og billedet bliver helt fint animeret ifht opacity. Men div boksen med class="info_div" bliver umiddelbart lige under billedet, uden at hoppe med på animationen.

Jeg har lavet flg. CSS til den div der gerne skulle slide op fra bunden af billedet:
Fold kodeboks ind/udCSS kode 


Skal den være hidden, og så kaldes frem af JQuery?

Men det ser ellers ud som om at du har forstået hvad jeg gerne vil opnå :-)

"info_div", blev bare ikke påvirket af det - Kan du se hvad der kan være galt/mangler?



ah kom lige til at se din klasse IndeximgOpa er på billedet, så du skal lige have en parent på ind i functionen.

Fold kodeboks ind/udJScript kode 




Nårh nu kan jeg se at det nok er mig der har forstået det forkert, mht. slide.

Jeg troede faktisk at det ville lave animationen, sådan at hvis man forestiller sig at på mouseOver, så starter animationen nede fra bunden af billedet og, slider op OVER/OVENPÅ billedet.

Kan det lade sig gøre med JQuery, ved at ændre på noget af funktionen.

Fordi som det er nu, så er den div (info_div) på MouseOver ikke at se, den slider "tilbage til ingenting" (dvs. lige under billedet.) og det er helt fint, da den kun skal vises ved MouseOver.

På MouseOut så slider den ned, og kan ses UNDER billedet.

Det jeg gerne ville var at den som udgangspunkt er det samme sted som nu, lige under billedet og ikke synlig. Men så på MouseOver, slide op OVER billedet så man kan se den tekst der skal beskrive lidt om produktet og som er inde i "inf_div".

Jeg beklager hvis jeg har beskrevet det forkert!

Skal info_div animeres til den specifikke størrelse, og så slides op over billedet?

Ja jeg er lidt en novice, men håber at finde svaret :-)

Kan det laves med næsten samme funktion, så "info_div" slider op over billedet, og billedet IKKE bevæger sig, men ligger bag ved "info_div"?



Indlæg senest redigeret d. 20.02.2012 20:22 af Bruger #16555
Ah ja okay, så kan du animere på show/hide

Fold kodeboks ind/udJScript kode 


Nu ved jeg ikke hvad du har af css på din div's men hvis det ikke virker kan du evt prøve med noget ala
Fold kodeboks ind/udCSS kode 




Indlæg senest redigeret d. 20.02.2012 20:25 af Bruger #3427
Sååå nu må det være tæt på!

Den er det helt rigtige sted nu, hvis jeg fjerner display:none; kan jeg se det.

Sætter jeg display til none, kommer den dog ikke frem ved mouseOver.

Jeg har indsat CSS som foreslået og har flg HTML:
Fold kodeboks ind/udHTML kode 

CSS:
Fold kodeboks ind/udCSS kode 


Med dette js:
Fold kodeboks ind/udJScript kode 


Så stadig er opacity animationen helt fin, men info_div holder sig langt væk fra det hele.

Men det jeg har er med ovenstående.

Hvis du har mere tid og tålmodighed, sætter jeg stor pris på din hjælp! Det gør jeg selvfølgelig også alligevel :-)



Indlæg senest redigeret d. 20.02.2012 20:48 af Bruger #16555
jeg har prøvet at rette det lidt til, der er dog en lille bug (i firefox), men er for træt til at finde den lige nu. hvis du holder musen der hvor diven kommer frem, køre den en fin lille løkke, op og ned til man flytter musen, pga noget med focus kunne jeg forstille mig.

well har smidt det online det jeg prøvet, og virker fint nok (bortset fra den der lille bug)

http://kenneth.wi.ots.dk/udvikleren/jquery/1/



Indlæg senest redigeret d. 20.02.2012 21:51 af Bruger #3427
Jeg sætter stor pris på assistancen!

Det er lige præcist det du har lavet sidst som jeg havde i tankerne! - Perfekt :-)

Nu er det bare sådan at efter jeg satte det ind, så sker der slet ikke noget, og med samme kode.. Så det giver jo ikke meget mening.

Jeg stopper også for i dag, men smider det jeg har op i morgen, og så må det sidste da kunne laves! Kan jo se at der virker, så nu er det bare mig der åbenbart ikke kan kopiere det korrekt.

Mange tak for hjælpen so far!



Indlæg senest redigeret d. 20.02.2012 22:40 af Bruger #16555
hvis du kan smide et link til det du har lavet, gør det lidt nemmer at finde fejlen :)

kan anbefale firebug hvis du bruger firefox, gør det noget nemmer at finde fejl i javascrip (og andet for den sags skyld)



EDIT:

Hej igen,

Jeg har samlet det hele her, og faktisk så virker det, NÆSTEN:

Det er kun på det sidste billede ud af de tre, hvor div boksen "info_div slider op over billedet.

Uanset hvilket billede man hover over, så slider "info_div" op over det sidste billede (...skjorte.gif).
Fold kodeboks ind/udHTML kode 


NY EDIT NY EDIT:
------------------------------------------------
Jeg luskede mig til noget viden inde fra JQUERY forum, og der var en der påpegede at denne linie:

elm = $(this);

Skulle være:

var elm = $(this);

I starten af funktionen - da den ellers ville være global og kun indeholde den sidste værdi i each loopen.

Så hvis der skulle være nogen der har lyst til at bruge dette så virker det med ovenstående kode :-)

Tak for hjælpen herinde fra!!



Indlæg senest redigeret d. 22.02.2012 17:41 af Bruger #16555
<< < 12 > >>
t