Zoals de titel vermeld heb ik problemen met de jQuery functie .hover()
http://api.jquery.com/hover/
In bovenstaande voorbeeld wil ik de background-position aanpassen van li waarvan de background een sprite is van 66 pixels hoog. Hier zit een gradient in en deze wil ik graag naar onder verschuiven. Hier een voorbeeld:
http://snook.ca/technical/jquery-bg/
Maar ik krijg het niet aan de gang, hij voert handlerIn gewoon niet uit en handlerOut wel, ik zie als ik m'n muis van de li afhaal namelijk background-position: 0 0; verschijnen in element style in Chrome. Heeft iemand enig idee waarom dit niet zou werken?
Edit
Inmiddels heb ik het werkend met onderstaande code, hier met mouseover en mouseout, maar hover werkt ook gewoon. Blijkbaar accepteert jQuery het niet dat er 'px' achter de getallen staat...
Het probleem nu is dat het ding niet animeerd, hij wijzigd gewoon de background position en wacht daar de duration mee.
http://api.jquery.com/hover/
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| jQuery(document).ready(function() { jQuery('#header-menu ul li').hover( function () { jQuery(this).animate({ backgroundPosition: '0 -33px' }, 300); }, function () { jQuery(this).animate({ backgroundPosition: '0 0' }, 300); } ); }); |
In bovenstaande voorbeeld wil ik de background-position aanpassen van li waarvan de background een sprite is van 66 pixels hoog. Hier zit een gradient in en deze wil ik graag naar onder verschuiven. Hier een voorbeeld:
http://snook.ca/technical/jquery-bg/
Maar ik krijg het niet aan de gang, hij voert handlerIn gewoon niet uit en handlerOut wel, ik zie als ik m'n muis van de li afhaal namelijk background-position: 0 0; verschijnen in element style in Chrome. Heeft iemand enig idee waarom dit niet zou werken?
Edit
Inmiddels heb ik het werkend met onderstaande code, hier met mouseover en mouseout, maar hover werkt ook gewoon. Blijkbaar accepteert jQuery het niet dat er 'px' achter de getallen staat...
Het probleem nu is dat het ding niet animeerd, hij wijzigd gewoon de background position en wacht daar de duration mee.
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
| jQuery(document).ready(function() { jQuery('#header-menu ul li').mouseover(function () { jQuery(this).stop().animate({ backgroundPosition: '0 -33' }, 300); }).mouseout(function () { jQuery(this).stop().animate({ backgroundPosition: '0 0' }, 300); }); }); |
[ Voor 25% gewijzigd door TheNephilim op 08-12-2011 17:29 ]