Névjegyzék

A jquery elemek méretének megváltoztatása. Dolgozzon az elem szélességével. A megengedett határértékek korlátozása az elemek méretének megváltoztatásához

Az ősi feladat, hogy nyomon követi az egy tetszőleges elem méretének megváltoztatását az oldalon. Valójában, amikor létrehozza a moduláris független szerkezet beállítani a méreteket és a többi CSS attribútumok a kívánt tétel egy oldalon, különösen blokkok periodikus Ajax terhelés (például: hírek). Általában az elemméret időzésével és időszakos felmérésével megoldható. Új változat - nem használ egy időalapú felmérést.

Trükk: Az elem belsejében helyezzen be egy üres képet a pozícióval: abszolút és 100% - (ok), adja meg a partíciót: relatív elem; . És nyomon követési keret.Aresize:

Vizsgálati kód:

Itt van a tartalom ...
Spoiler alatt
Figyelembe véve a kívánságokat, - több telepített kódot:

Speciális kód

A kód:

Itt van a tartalom ...

Visszatérés, beállítja az elem szélességét.

  • hozzáadott verzió: 1.0 .width ()

    Visszatér: Egész szám

    Megkapja az elem szélességét

  • hozzáadott verzió: 1.0 .width (érték)

    Egy típus: String vagy szám

    Visszatér: jquery.

    Egy egész szám, amely a pixelszámot képviseli, vagy egy számot egy sztring formájában.

  • hozzáadott verzió: 1.4.1 .width (funkció (index, szélesség)))

    funkció (index, szélesség)

    Egy típus: Funkció

    Visszatér: jquery.

    A funkciót visszaadja a szélességet egy új telepítéshez. Megkapja az elempozíció indexét a régi szélességének beállításában és értékében. A funkció az aktuális elemre vonatkozik.

A különbség. CSS ("WIDTH") és.Width (), hogy ez a módszer kivételesen numerikus értéket (például 400, és nem 400px) ad vissza. Módszer.Városítás () Javasoljuk, hogy a kapott értéket matematikai számításokban kell használni.

Ez a módszer használható a dokumentum szélességének eléréséhez és az ablakhoz.

$ (Ablak) .Width (); $ (dokumentum). Width ();

Ne feledje, hogy a Módszer.Hát () mindig visszaadja a tartalom szélességét, anélkül, hogy figyelembe venné a CSS box-méretezésének értékét. A JQUIERE 1.8-ból kezdődően meg kell kapnia a doboz méretezésének értékét, majd vegye be a keret és a francia bekezdés méretét. Mindez abban az esetben, ha a Box-Sizing tulajdonság: A határ menti tulajdonsága az elemre vonatkozik. A számítások elkerülése érdekében használja a.css ("szélesség").

A módszerre való átvitel. VAGY (ÉRTÉK), mind a karakterlánc, mind a szám. Ha csak a számot továbbítják, akkor a JQuery automatikusan hozzáadja a "PX" -t. Ha egy karakterlánc, akkor úgy néz ki, mint ez: 100px, 50%, vagy Auto. Kérjük, vegye figyelembe, hogy a modern koszorúknál a szélesség nem tartalmaz beágyazási és keretértékeket.

Példák:

Példa: A különbségek megjelenítése elemek szélességeiben. Mivel az elemek iframe-ben vannak, akkor ezek a méretek kissé eltérhetnek.

szélesség demó.

Minta bekezdés a szélesség teszteléséhez



Példa: Állítsa be a különböző szélességet a DIV elemekre kattintva.

szélesség demó.

d.
d.
d.
d.
d.


Scaling elemek (átméretezhető kölcsönhatás)

RESZÁLLÍTÓ kölcsönhatás Hozzáadja az elem manipulátorokat, mozgatható, amely a felhasználó méretét megváltoztathatja az elemet. Egyes böngészők automatikusan biztosítanak egy ilyen lehetőséget a szövegterületekre, de a kölcsönhatás kölcsönhatása lehetővé teszi a dokumentum bármely elemének hasonló skálázását. Példa az ilyen típusú kölcsönhatás alkalmazására, amely végrehajtásra kerül Átmérőteljes () módszerlásd lent:

jquery ui.

Őszirózsa
.png "/\u003e
Liliom
.png "/\u003e


Példa

Ebben a példában két DIV elemet hoznak létre, amelyek mindegyike IMG elemet és szöveget tartalmaz. A forgatókönyv, egyikük van kiválasztva, és a méretezhető () módszert alkalmazzák, hogy azt (a ALSORESIZE paraméter, amelyet az alábbiakban ismertetünk). A JQuery UI könyvtár egy manipulátort ad a kiválasztott elemhez, amely lehetővé teszi az elem függőleges és vízszintes méretét, amint az az ábrán látható. Az ábrán az elem megnövekedett magassággal és csökkentett szélességgel rendelkezik:

Az átméretezhető interakció konfigurálása

Az átméretezhető interakció beállításához az alábbi táblázatban leírt tulajdonságokat használják. Az átméretezhető interakció függ a húzás kölcsönhatásától. Ez azt jelenti, hogy amellett, hogy a beállításokat a táblázatban megadott, akkor a Húzható kölcsönhatás beállításokat, beleértve például a Delay, távolság, Rács és tárolás érdekében.

A kölcsönhatás tulajdonságai
Ingatlan Leírás
alverekizáció Az olyan elemek kiválasztására használt választó, amelyek méretét ki kell változtatni, egyidejűleg meg kell változtatni az olyan elemek méretével, amelyekre az átélhető interakció alkalmazása. Az alapértelmezett érték FALSE, ez az ilyen elemek hiánya
aspectratio. Ha ennek az opciónak az értéke igaz, az elem méretének változása a képarány arányának megőrzésével történik. Alapértelmezett érték - igaz
automatikus elrejtés. Ha ennek az opciónak az értéke igaz, akkor a manipulátorok csak akkor láthatók, ha az egérmutató az elem felett található. Alapértelmezett érték - FALSE
szellem. Ha ennek az opciónak az értéke igaz, akkor az elem méretének megváltoztatásakor az áttetsző kontúrok láthatóak, új elemméretek megjelenítése. Alapértelmezett érték - igaz
fogantyúk. Meghatározza, hogy hol lesz a manipulátorok. A támogatott értékek később adhatók meg.
maximum magasság Meghatározza a maximális magasságot, amelyhez átméretezheti az elemet. Az alapértelmezett érték , ez nem jelent korlátozást
maxwidth. Meghatározza a maximális szélességet, amelyre átméretezheti az elemet. Alapértelmezett érték - NULL
minheight
minwidth. Meghatározza a minimális magasságot, amelyhez átméretezheti az elemet

Egyidejű változás más elemek méretében

Véleményem szerint a leggyakoribb, ha az interakció átméretezhető az AlsoSize opció. Ezzel olyan további elemeket határozhat meg, amelyek méretét egyidejűleg megváltoztatják annak a méretének méretével, amelyhez az áthúzható () módszert alkalmazzák. Ezt az opciót elsősorban annak érdekében használom, hogy az elemek méretének szinkroncsere-változást biztosítsam a szülőelemek méretével együtt.

Már használtuk ezt a funkciót az előző példában, meghatározva az img és a div elemek méretének egyidejű változását. Először is, nézzük meg, mi történik, ha az AlsoSize opciót nem használják. A megfelelő kód szerepel az alábbi példában:

$ (Függvény () ($ ("# # Astor"). Átmérőteljes ();));

Ha az AlsoSize opciót nem használják, akkor csak a div-elem méretei megváltoznak. A beillesztett elemek méretei változatlanok maradnak. Mi történik az ábrán:

Néha pontosan ez az eredmény, és szükség van arra, hogy megszerezzem, de személyesen az AlsoSize opciót szinte minden esetben az átméretezhető kölcsönhatás alkalmazása során használom. Ebben a paraméterben szeretem azt a tényt, hogy a megfelelő elemek kiválasztása nem korlátozódik azon tartalmakra, amelyekre a méretek megváltoztak. Ezzel az opcióval megadhatja az alábbi példában bemutatott egyéb elemeket:

$ (Függvény () ($ ("# # Astor"). Átméretezhető ((AlsoSize: "img, #lily");));

Ebben a forgatókönyvben az elemek kiválasztása bővül, hogy lehetővé tegye a DIV és az IMG elemek engedélyezését. Így, amikor a div-jquery egyik elemének méreteinek megváltoztatásakor egyszerre négy elem méretét megváltoztatja. Az eredmény az ábrán látható:

A megengedett határértékek korlátozása az elemek méretének megváltoztatásához

Korlátozhatja a skálázható elemek méretének megváltoztatásának korlátait a maxheight, a maxwidth, a minheight és a minwidet lehetőségek alkalmazásával. Az ilyen opciók értékei lehetnek számok, amelyek a képpontok számát, vagy null számát fejezik ki. Az alábbi beállítások használata az alábbiakban látható.

Szélesség () .innerwidth () .Aterwidth ()

A funkciók visszaadják az elem szélességét. Ezenkívül a szélesség () használatával új szélességi értéket állíthat be. Számos lehetőség van a funkciók használatára:

szélesség () - Az elem szélessége, kivéve a keret beágyazását és vastagságát.
innerwidth () - Az elem szélessége, figyelembe véve a belső francia bekezdések méretét (párnázás).
külső verzió (beleértve a) - Az elem szélessége, figyelembe véve a belső francia bekezdéseket, a keret (határ szélességét), és szükség esetén külső francia bekezdéseket (margin).

Új szélességi értéket tartalmaz Érték.Minden kiválasztott elemhez

beállítja az elemek szélességének új értékét, amely megegyezik a felhasználói funkció visszatérésével. A funkciót külön-külön hívják, mindegyik kiválasztott elemhez. Amikor felhívja, a következő paraméterek továbbítása: index - a készlet elemének helyzete, Érték. - Az elem szélességének aktuális értéke.

Példák:

$ ("div.content"). Szélesség () tartalom.
$ (Dokumentum) .width ()visszaadja az oldal szélességét
$ (". Tartalom"). Szélesség (30)Állítja be a 30 képpont szélességét az összes elemhez tartalom.
$ ("div.content"). Külső verzió ()visszaadja az első div elem szélességét az osztályhoz tartalom. A belső francia bekezdések és a keret vastagsága a magasságba kerül
$ ("div.content"). Külső verzió (igaz) az előző példához hasonlóan, de a szélesség értéke magában foglalja a külső francia bekezdéseket is.

1. megjegyzés.: A funkció használata. Névtelen () általában kényelmesebb, mint a .css ("szélesség"), mivel a visszatérési érték nem tartalmazza a "px" végét. Ez az első esetben 30-at kapsz, és a második "30px" -ben.

Jegyzet 2.: Fontos megjegyezni, hogy a módszer használatával. WIDTH (NAME) A kiválasztott első elem attribútumértékét kapja meg. Ha szüksége van az összes elem értékére, használd a Type .map () vagy .Each () típusú tervezést.

Cselekvésben

Futtassa az összes elem szélességét a második sorban 10 pixelrel.

~ Lt ~! Doctype html ~ gt ~ ~ lt ~ html ~ gt ~ ~ lt ~ fej ~ gt ~ ~ lt ~ script src \u003d "http://code.jquery.com/jququery-tentest.js" ~ gt ~ ~ lt ~ / script ~ gt ~ ~ lt ~ style ~ gt ~ ul (margó: 10px;) .Item (úszó: bal, magasság: 20px; margó: 1px; párnázás: 3px; háttérszín: #Ee; list-style -Type: Nincs;) ~ lt ~ / style ~ gt ~ ~ lt ~ / fej ~ gt ~ lt ~ test ~ gt ~ ~ lt ~ ul id \u003d "lista" ~ gt ~ ~ lt ~ li osztály \u003d "tétel" \u003d "Szélesség: 60px" ~ gt ~ magas ~ lt ~ / li ~ gt ~ lt ~ Li osztály \u003d "tétel iope" stílus \u003d "Szélesség: 75px" ~ gt ~ gyors ~ lt ~ / li ~ gt ~ ~ lt ~ Li Class \u003d "tétel" stílus \u003d "Szélesség: 90px" ~ gt ~ erős ~ lt ~ / li ~ gt ~ lt ~ / ul ~ gt ~ lt ~ / ul ~ gt ~ lt ~ br ~ gt ~ lt ~ ul id \u003d "lista2" ~ Gt ~ ~ lt ~ li class \u003d "tétel" stílus \u003d "Szélesség: 60px" ~ gt ~ fent ~ lt ~ / li ~ gt ~ ~ lt ~ Li osztály \u003d "tétel" stílus \u003d "Szélesség: 75px" ~ gt ~ gyorsabb ~ Lt ~ / li ~ gt ~ ~ lt ~ li class \u003d "item" style \u003d "Width: 90px" ~ gt ~ erősebb ~ lt ~ / li ~ gt ~ lt ~ / ul ~ gt ~ ~ lt ~ script ~ gt ~ $ ("# lista2 .item"). Szélesség (Visszatérés Val + 10;)); ~ lt ~ / script ~ gt ~ ~ lt ~ / test ~ gt ~ ~ lt ~ / html ~ gt ~



Tetszett a cikket? Oszd meg