mouseover vergroten, mouseout kleiner

Status
Niet open voor verdere reacties.

jappertjeh

Gebruiker
Lid geworden
2 jan 2006
Berichten
432
Ik heb een mouseover in mijn html bestand, dat een oorspronkelijk grotere afmeting heeft dan ik wil. Ik heb dus in de body gezet: <img src="blabla" height="100" width="100"/>
hierdoor is mijn afbeelding die verschijnt 100 bij 100, maar als ik er over heen ga is de mouseover ook 100 bij 100 en die wil ik juist in zijn originele grootte houden.. how to?
 
Zou kunnen met de css-pop up methode (voorbeeld-1 en voorbeeld-2).
Er zijn ook veel javascripts die een grotere foto mooi kunnen latten up-poppen.
Tip: als je veel grote foto's hebt, loont het de moeite om de kleintjes met een tekenprogramma te verkleinen tot "thumbnails" van 100x100px.
Dat is niet alleen mooier dan wanneer je de browser de grote foto laat verkleinen, maar dan hoeven ook niet alle grote foto's gedownload te worden als je de pagina bezoekt, maar alleen als je de kleine foto aanwijst of klikt. Dat kan enorm in de tijd schelen die de pagina er over doet om zichtbaar te worden.
En er zijn ook (ik dacht sommige ook gratis) speciale fotoalbum-websites, die dit soort dingen automatisch doen: kwestie van registreren en uploaden maar! :)

Succes!
CSS-hunter
 
ik heb hier een tijdje niet meer op gereageerd, maar ben er nog niet uit. Ik denk dat bovenstaande reactie mijn vraag een beetje verkeerd begrijpt, of ik begrijp het antwoord verkeerd. Ik zal het iets helderder proberen te vertellen:

Ik heb afbeelding1.jpg en afbeelding2.jpg
afbeelding 1 is 313 bij 313
afbeelding 2 is 500 bij 500

ik wil beginnen met afbeelding 1 standaard in beeld, afbeelding 2 als mouseover.
in mijn script noem ik deze afbeeldingen gewoon, in mn body staat: <img src="afbeelding1.jpg" height="100" width="100" border="0" name="mouseover" />

als ik het zo laat dan word zowel afbeelding 1 als 2 100x100, wat ik dus niet wil.
Hoe komt de afbeelding groter dan de oorspronkelijke?
 
Als je afbeelding1.jpg 313 bij 313px is, en in de html als 100x100px getoond wordt, zou ik dat plaatje met een tekenprogramma verkleinen tot 100x100px, en daarna weer uploaden. Dat geeft een beter resultaat dan wanneer de browser de 313x313 afbeelding gaat verkleinen tot de 100x100 die op het scherm moet komen.
- Maar dat was niet de hoofdvraag.

De "css-pop up methode" van de voorbeelden is ook toepasbaar op afbeelding1.jpg, als die bij een mouseOver afbeelding2.jpg van 500x500 moet worden. Alleen moet de code daarvoor wat aangepast worden.
  • Bij een andere vraag heb ik pas uitgelegd hoe het in z'n werk gaat. Kijk hier maar eens. Met voorbeeld! :)
Als de basis je afbeelding van 100x100 moet zijn, dan moet die in een link gezet worden, en de andere afbeelding (van 500x500) moet opgenomen worden in de <span> binnen die link.
Dit is dus helemaal scriptloos! De mouseOver wordt gerealiseerd omdat de hover door de css gezien kan worden, en de css dan de hover-style kan veranderen. Omdat de <span> binnen de link zit waarover gehoverd wordt, kan op deze manier de margin van de afbeelding veranderd worden van -9999px (d.w.z. buiten beeld!) naar de horizontale positie waar je 'm wilt hebben.

Je zou er ook nog iets van javascript bij kunnen doen: niet voor het mouseOveren zelf, maar om de rest van de pagina wat meer naar achteren te drukken. Je kan met javascript namelijk de style van een willekeurig element van de pagina veranderen, als dat element maar een ID heeft gekregen. Als je de <body> een ID geeft, kan je de body-styles aanpassen: bijvoorbeeld de achtergrond en de tekstkleur laten vergrijzen. Als de mouseOver beëindigd is, wordt dan tegelijkertijd de rest van de pagina weer gewoon zwart-wit.
Als er andere elementen op de pagina staan met een eigen kleur, kan dit moeiteloos toegevoegd worden. Als ze maar weer een ID gekregen hebben.
- En heeft iemand toevallig of niet toevallig javascript op z'n/h'r browser uit hebben staan, dan is er geen man/vrouw overboord. Alleen het vergrijzen valt dan weg. De hover met het grotere plaatje blijft het gewoon doen.

Meestal zijn met html/css/javascript meerdere oplossingen voor hetzelfde probleem mogelijk. Het zou ook nog op andere manieren kunnen. Dat kan bv. nodig zijn als je binnen het grote plaatje een gedeelte hebt wat je moet kunnen aanklikken. Dan werkt de css pop-up methode niet, want je kan geen link binnen een link hebben! :D

... maar was dit wat je bedoelde?

Met vriendelijke groet,
CSShunter
 
als ik het zo lees is dit helemaal wat ik bedoelde. Ik zal het binnenkort uitproberen. Geweldig super bedankt voor de uitleg!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan