Besoin de l'aide de jquery. J'ai trouvé un script qui affiche des images miniatures avec un événement hover. Le script fonctionne bien, mais à la conception, les images s'affichent à droite en fonction de l'emplacement du pixel de la vignette d'origine. Je veux changer la position de l'image pour qu'elle soit toujours au milieu de l'écran (ou mieux, centrée à l'intérieur de la "div" qui enveloppe le "ul", puis à la sortie du mais je ne suis pas sûr de la façon de procéder, j'ai essayé d'ajuster les emplacements Top et Left dans la fonction jquery de .animate(), mais je pouvais le faire fonctionner correctement. conseils seront appréciés MerciAide jquery dans le centrage d'une image contextuelle avec l'événement mouseover
HTML:..
<div>
<ul class="thumb_standard">
<li><a href="#"><img src="<?php echo $domain;?>images/screenshots/occupants1.png" alt="Tenants/Occupants"/></a></li>
<li><a href="#"><img src="<?php echo $domain;?>images/screenshots/occupants2.png" alt="Tenants/Occupants"/></a></li>
<li><a href="#"><img src="<?php echo $domain;?>images/screenshots/occupants3.png" alt="Tenants/Occupants"/></a></li>
</ul>
</div>
CSS:
/* Thumbnail popup display */
ul.thumb_standard {
/*float: left;*/
list-style: none;
margin: auto;
padding: 10px;
width: 900px;
}
ul.thumb_standard li {
margin: 0; padding: 5px;
float: left;
position: relative; /* Set the absolute positioning base coordinate */
width: 210px;
height: 110px;
}
ul.thumb_standard li img {
width: 200px; height: 100px; /* Set the small thumbnail size */
-ms-interpolation-mode: bicubic; /* IE Fix for Bicubic Scaling */
/*border: 1px solid #ddd;*/
padding: 5px;
/*background: #f0f0f0;*/
position: absolute;
left: 0; top: 0;
}
ul.thumb_standard li img.hover {
background:url(thumb_bg.png) no-repeat center center; /* Image used as background on hover effect
border: none; /* Get rid of border on hover */
}
.thumb_container{margin:auto;}
/* END THUMBNAIL DISPLAY */
jquery:
<script type="text/javascript">
$("ul.thumb_standard li").hover(function() {
$(this).css({'z-index' : '10'}); /*Add a higher z-index value so this image stays on top*/
$(this).find('img').addClass("hover").stop() /* Add class of "hover", then stop animation queue buildup*/
.animate({
/* The next 4 lines will vertically align this image */
marginTop: '-210px',
marginLeft: '-110px',
top: '50%',
left: '50%',
width: '700px', /* Set new width */
height: '500px', /* Set new height */
padding: '20px'
}, 200); /* this value of "200" is the speed of how fast/slow this hover animates */
} , function() {
$(this).css({'z-index' : '0'}); /* Set z-index back to 0 */
$(this).find('img').removeClass("hover").stop() /* Remove the "hover" class , then stop animation queue buildup*/
.animate({
marginTop: '0', /* Set alignment back to default */
marginLeft: '0',
top: '0',
left: '0',
width: '200px', /* Set width back to default */
height: '100px', /* Set height back to default */
padding: '5px'
}, 400);
});
</script>
Merci pour la réponse. Je pense que je me suis mal expliqué. Vos suggestions fonctionnent bien. Sauf que je cherche l'image pour apparaître pas exactement au centre de la vignette de l'image, mais dans le centre "horizontal" de l'écran. Donc, ce que j'ai est une rangée de 5 vignettes qui s'étendent horizontalement sur l'écran. Si je passe la souris sur l'image de gauche, ou sur l'image de droite, la fenêtre img est coupée à cause de l'élément "marginLeft". Mon espoir est d'avoir l'image popup dans le centre "horizontalement". Merci de votre aide. – Ronedog
Oups, ma mauvaise. J'ai compris que la première fois, mais pas la deuxième fois. S'il vous plaît voir la réponse mise à jour pour une idée de la façon de le faire. –
awsome, en regardant bien jusqu'à présent. Changements de couple cependant, je devais ajouter 'top: '- 100%' 'pour placer img là où j'en avais besoin. J'ai aussi dû rajouter le '$ (this) .css ({'z-index': '0'})' dans la balise