Comment puis-je faire un effet de fondu de transition avec les images d'arrière-plan
J'ai 5 boutons et quand je passe mon pointeur o certains de puis, je veux changer l'image de fond, mais avec un effet de fondu.
HTML:
<body>
<div id="content" class="row">
<div class="large-4 center columns ">
<a id="column1" class="button expand" href="http://www.page1.com">WEB 1</a>
</div>
<div class="large-4 center columns">
<a id="column2" class="button expand" href="http://www.page2.com">WEB 2</a>
</div>
<div class="large-4 center columns">
<a id="columna3" class="button expand" href="http://www.page3.com">WEB 3</a>
</div>
<div class="large-4 large-offset-2 center columns">
<a id="columna4" class="button expand" href="http://www.page4.com">WEB 4</a>
</div>
<div class="large-4 center columns end">
<a id="columna5" class="button expand" href="http://www.page5.com">WEB 5</a>
</div>
</div>
</body>
Jquery:
<script src="js/jquery.js"></script>
<script src="js/foundation.min.js"></script>
<script>
$(document).foundation();
$("#column1").mouseover(function(){
$("body").css('background-image', 'url("img/dib1.jpg")');
});
$("#column2").mouseover(function(){
$("body").css('background-image', 'url("img/dib2.jpg")');
});
$("#column3").mouseover(function(){
$("body").css('background-image', 'url("img/dib3.jpg")');
});
$("#columna4").mouseover(function(){
$("body").css('background-image', 'url("img/dib4.jpeg")');
});
$("#column5").mouseover(function(){
$("body").css('background-image', 'url("img/dib5.jpg")');
});
</script>
Le problème est lors de la modification de l'image, est donc rapidement, pour que je veux mettre un effet de fondu de transition, a essayé de mettre fadetoggle lent, mais disparaissent tout mon contenu, car l'utilisation de "corps" pour mon sélecteur.
Vous devez vous connecter pour publier un commentaire.
Voici une petite maquette que j'ai faite. C'est juste une base, mais il doit être facilement modifiable.
http://jsfiddle.net/sB8hU/
HTML:
jQuery:
Utiliser un absolu de l'élément et ajouter le fond. De faire comme ceci:
Et de styles:
Et suivez le même truc. 😀
CSS3 est le moyen le plus facile. Vous avez juste à réaffecter l'image en JavaScript que vous avez déjà, mettre dans la balise body occupons du reste pour vous. Assurez-vous de jouer avec le temps pour répondre à vos besoins. Avertissement: cette transition ne fonctionne pas dans IE au plus tôt 10.
Malheureusement, ce n'est pas possible actuellement avec les "simples" CSS.
Cependant, vous pouvez utiliser un conteneur (votre page web) avec
position: relative
et de la place principale de votrediv
, avecposition: absolute
ettop: 0; left: 0
. puis d'ajouter, au même niveau que cettediv
:Dans votre CSS :
Puis dans votre code, au lieu de changer la propriété background-image du "corps", changer la classe de l'image et ajouter /supprimer des
active
.Vous pouvez utiliser les CSS 3 transition de la propriété. La notion de classe dans votre feuille de style par exemple comme suit:
Et ensuite appliquer cette classe par programmation en javascript quand vous en avez besoin.
Espérons que cette aide.