J'ai un picturelink qui atténue l'opacité en vol stationnaire. Ce dont j'ai besoin, c'est que le texte soit affiché dessus. Voici un exemple de ce que je veux: http://kspla.tumblr.com/ Mon code ci-dessous atténue l'opacité à 40%, mais je ne sais pas comment obtenir texte à afficher dessus.
<script type="text/javascript">
$(document).ready(function() {
$('#wb_Image2, #wb_Image3 a img').animate({
opacity:1
});
$('#wb_Image2, #wb_Image3 a img').hover(function() {
$(this).stop().animate({opacity:.4},200);
}, function() {
$(this).stop().animate({opacity:1},500)
});
});
Merci d'avance.
Il est bon de se rappeler que si vous gérez l'apparence des choses, il est probable que cela se fasse en CSS (ce qui vous facilitera la vie à long terme).
J'ai simulé un exemple ici: http://jsfiddle.net/HAcE2/
Vous devez fondamentalement créer une boîte qui apparaît lorsque vous survolez. En utilisant position:absolute
, vous pouvez obtenir la boîte de dialogue par-dessus et en utilisant CSS, nous pouvons le faire apparaître lorsque nous la survolons.
Définissez la text
dans une étendue ou un div et positionnez-la absolutely
correspondant au conteneur qui est relativement positionné.
Puis hide
ou show
le texte correspondant
$(document).ready(function () {
$('#wb_Image3 a img').hover(function () {
$(this).stop().animate({
opacity: .4
}, 200);
$('.text').removeClass('hide');
}, function () {
$(this).stop().animate({
opacity: 1
}, 500);
$('.text').addClass('hide');
});
});
Vous pouvez toujours ajouter une div contenant le texte souhaité à côté de l'image et définir son opacité sur 0; ensuite, lorsque vous passez la souris sur l'image, réduisez l'opacité de l'image et augmentez son opacité.
En fait, on dirait qu’ils se fondent dans une div avec du texte blanc et un arrière-plan opaque.
Ce que vous devez faire est d'avoir un div avec l'image et un texte
<div>
<img src="..." style="position: relative; z-index: 100;" />
<div style="margin: 0 auto; align: center; height: 100%; width: 100%; position: relative; z-index: 101; opacity: 0; >Number</div>
</div>
Ce balisage permet de s'assurer que la div du texte chevauche la div de l'image. Au lieu de fondre l'image et de fondre dans le texte. Fondu dans le texte.
L’autre partie de cette solution consiste à s’assurer que le texte est centré verticalement. Et en ajoutant un arrière-plan opaque à 50%, vous pouvez utiliser css3 avec une couleur d’arrière-plan rgba ou ajouter un arrière-plan png et le répéter pour la div.
Vous pouvez placer votre texte dans un div et utiliser le position: absolute
pour le placer au même endroit que votre image, ainsi que display: none
pour le rendre invisible. Ensuite, dans JQuery, définissez votre code pour atténuer l'opacité et rendre cette div visible à l'aide de $('#nameofthediv').show();
MAIS assurez-vous de lui affecter un "indice z" supérieur à celui de l'image. La propriété z-index est utile par exemple lorsque vous avez 2 divs qui se chevauchent et que vous décidez lequel d'entre eux sera au-dessus. L'élément avec l'indice z le plus élevé est l'élément visible. Si vous ne le faites pas, l'image sera au-dessus du texte, vous ne pourrez donc pas voir le texte.
Cela devrait vous aider à démarrer: http://jsfiddle.net/SBpzX/2/
$(document).ready(function() {
$('.text').hide();
$('img').animate({
opacity:1
});
$('img').hover(function() {
$(this).stop().animate({opacity:.4},200);
$('.text').fadeIn();
}, function() {
$(this).stop().animate({opacity:1},500)
$('.text').fadeOut();
});
});