Fade uma imagem para outro menu - CSS-Tricks

Anonim

Faça uma imagem de sprite CSS, com a metade superior e a metade inferior sendo as duas imagens entre as quais você deseja animar. O jQuery adiciona uma tag e adiciona a metade inferior da imagem do sprite como seu plano de fundo. Conforme você passa o mouse sobre e para fora, a extensão anima entre totalmente transparente e totalmente opaca, esmaecendo uma imagem em outra.

HTML:


  • home
  • about
  • services
  • contact

CSS:

ul#menu li a(float:left;display:block;background:url("images/menu.png.webp") no-repeat;width:150px;text-indent:-9999px;height:50px) ul#menu li#home a(background-position:0px 0px) ul#menu li#about a(background-position:-150px 0px) ul#menu li#services a(background-position:-300px 0px) ul#menu li#contact a(background-position:-450px 0px) ul#menu li a span (background:url("images/menu.png.webp");height:50px;display:block) ul#menu li#home a span(background-position:0px -50px) ul#menu li#about a span(background-position:-150px -50px) ul#menu li#services a span(background-position:-300px -50px) ul#menu li#contact a span(background-position:-450px -50px)

jQuery:

$(function() ( $("ul#menu li a").wrapInner(""); $("ul#menu li a span").css(("opacity" : 0)); $("ul#menu li a").hover(function()( $(this).children("span").animate(("opacity" : 1), 400); ), function()( $(this).children("span").animate(("opacity" : 0), 400); )); ));