jQuery 1.6: backgroundPosition vs backgroundPositionX és FF4 kompatibilitás

szavazat
0

A kísérlet, hogy frissítse a jQuery plugint „iCheckbox” (http://stackoverflow.com/questions/6032538/) dolgozni fenti jQuery 1.4.4 rájöttem, hogy a használata

 animate({backgroundPosition:'10px 0px'})

kellett változtatni, hogy

animate({backgroundPositionX: '10px', backgroundPositionY:  '0px'})

mivel csak tulajdonságokat egy paraméterrel kell használni. Eddig ez van értelme, de várj .. míg ez jól működik a Safari és a Chrome-ban, ez nem működik a FF4 (összes Mac) ..

Így próbáltam ezt és ezt, és végül kiderült, hogy ha a változás, hogy

animate({backgroundPosition: '10px'})

Úgy működik, mindenhol! De mi folyik itt? Most, hogy csak adni egy paramétert, működik, de én nem meghatározó, ha ez az X és Y tengely mentén (tehát az alapértelmezett X tengely úgy tűnik .. de mi van, ha azt akarom, hogy a munka az Y tengelyen?)

Úgy tűnik, ez furcsa, és a megoldás itt nem lehet a helyes módja csinálja .. úgyhogy kell egy kis tanácsot:

Mi történik?

Hogyan kell háttérpozíció animált jQuery 1,4-1,6 úgy, hogy működik az egész böngészőt?

A kérdést 12/06/2011 13:00
a forrás felhasználó
Más nyelveken...                            


2 válasz

szavazat
0

Szerint: http://www.w3schools.com/css/pr_background-position.asp

„Ha csak egy egyedi értéket, a másik érték 50% lesz. Akkor keverjük% és pozíciók”

Válaszolt 12/06/2011 13:17
a forrás felhasználó

szavazat
1

Először is, JQuery képtelen animálni két érték egyidejűleg, így láttad, hogy bevitele két érték backgroundPositionnem működik egyáltalán. Szintén fontos megjegyezni, hogy az pxértékek, a JQuery dokumentációt arra ösztönzi, hogy ne írjon a px.

Másodszor, backgroundPositionXés backgroundPositionYolyan nem szabványos CSS tulajdonságok egyetlen támogatott néhány böngészők, leginkább IE és a közelmúltban Webkit, ezért meg fogja találni, hogy nem működik az FF vagy Opera. ( Lásd itt .)

Azt találtuk, hogy a keverés JQuery animateés CSS átmeneteket működik animálni egy háttérképet az egyik tengelyen a legtöbb böngészőben. Idézem az én választ egy másik kérdés ( jQuery.animate background-position ):

Használja JQuery .animate()és backgroundPositionXés Ykülön IE (ez működni fog a legújabb JQuery). Aztán böngészők támogatják a CSS átmeneteket (szinte minden mellett IE), használja .css()ahelyett, .animate()hogy változtatni a háttér helyzetét és állítsa be a CSS átmenet a stíluslap.

Meg lesz, amely a legtöbb böngésző a fenti, de lehet, hogy nem egyeztethető, mint csak egy plugin. Láthatjuk, hogy működött itt: http://jsfiddle.net/lucylou/dVpjh/

Válaszolt 17/11/2011 20:45
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more