Pitkästä aikaa vähän kunnon datailua kehiin. Tänään esittelen helpon tavan tehdä yksinkertaisia ”hover” -efektejä napeille. Tarvitset ainoastaan Jquery-kirjaston ja avot.
$(document).ready(function(){
$(".hilight").hover(
function(){
$(this).css("background-position", "0 -" + $(this).height() + "px");
},
function(){
$(this).css("background-position", "0 0");
}
);
});
Sitten tarvitset vielä hoverointiin sopivan kuvan, esimerkiksi tällaisen:
Voit käyttää tuota sitten näin:
<style>
.hilight{ background-position: 0 0; background-repeat: no-repeat; border: 0; cursor: pointer; display: block; }
</style>
{...}
<a class="hilight" style="background: url(poista.jpg); width: 40px; height: 24px;" href="#"></a>
Demonstraatiota tämän menetelmän käytöstä voi kattoo vaikka http://www.paitashop.fi. Tosin siellä se ei ollut vielä aivan näin ”hienostunut”. Käytännössähän tuo jquery-osuus pitää kirjoittaa kerran, css-pitää kirjoittaa kerran, joten aika vähällä vaivalla tuo hoverointi sitten näiden töiden jälkeen syntyy. Toimii myös buttoneilla, jne.
6 vastausta aiheeseen “Easy Jquery Hover”
Eikös tämä onnistu ihan a:hover?
Olen käyttänyt pelkkää css:ää näissä tapauksissa. Taustakuva on oletuksena asetettu ylävasemmalle (top left) ja hoveroidessa (.class:hover) alas (bottom left). Ei toimi kaikilla IE:n versioilla, mutta ihan sama. Ei ainakaan ole niin raskas kuin tuo jQuery-ratkaisu.
Joo, a:hover toimii täydellisesti, paitsi joillain IE-versioilla.
Ideana jquery-ratkaisussa kuitenkin on se, että tällä toimii IE:llä myös buttoneissa, tai oikeastaan missä vain elementeissä hoverointi, kun taas :hover ei taida IE:llä pelata millään muulla elementillä kuin a.
Jäin miettimään, että tarviiko jollain muulla kuin linkillä olla hoveria? Ei tule nyt mieleen.
submit -painikkeella, olipa se sitten input tai button -elementti.
Totta turiset. Ei se ihan turha kaveri sitä SQPO:n työtä koodannu ;)