-Rafal-
28.09.2011, 08:47:08
Witam, zrobilem w jquery menu na strone
jesli hover na obiekt to zmien bacground-image na inny
jesli mouseout to wroc do poprzedniego
tyle ze jak wrzuce na serwer to raz sie szybko otworzy a raz musze dwa razy najechac - jaki macie na to patent ? jak zrobic zeby oba obrazki sie sciagaly przy ladowaniu strony ?
pozdrawiam
maviozo
2.10.2011, 23:09:48
To bardzo proste. Nie wrzucasz dwóch grafik na serwer, tylko jedną. Pic polega na tym, że w tej jednej grafice masz oba warianty, jeden obok drugiego (albo pod nim). W momencie najechania na obiekt, nie zmieniasz pliku, tylko położenie grafiki tła. Innymi słowy - masz przycisk o wysokości 20px. Robisz grafikę 40px jedną pod drugą. Następnie przy najeżdżaniu ustawiasz background-position:0px -20px. Oczywiście jeszcze lepszym sposobem jest utworzenie klasy css (np. .hover) i poprzez jquery dodawanie i usuwanie jej.
Ewentualnie, łopatologicznie, umieszczasz drugi obrazek w kodzie i nadajesz mu position:absolute; i top:-1000px.
Damonsson
3.10.2011, 01:36:24
Nie używasz do tego żadnego JS, jQuery i innych udziwnień, tylko:
.obiekt {
}
.obiekt:hover {
}
Jest wszystkim co masz zrobić. Słowo klucz CSS Sprites.
maviozo
3.10.2011, 10:45:42
Z tego co pamiętam, hover NIE na linkach lubi sobie nie działać, np. w IE
Damonsson
3.10.2011, 13:41:20
Ja tam jak robię "menu na strone" to zazwyczaj daje linki

Pod jakim IE jest ów zależność? tak z ciekawości.