Modális ablak JavaScriptben. Hozzon létre egy felugró modális ablakot, a jQuery eszközt modális ablak létrehozásához

A modális ablak egy tároló, amely egy hivatkozásra kattintva felugrik, és bizonyos információkat szolgáltat. Szerintem sokan ismerik már, de ha nem, nézd meg a bemutató verziót, hogy megértsd, mi az. Most nagyon sok van belőlük, és mindegyik a maga módján működik. Például vannak teljesen szabványosak, amelyek valamilyen művelet végrehajtását kérik, ebben a példában megerősítés. Vagy például egy másik lehetőség, amikor először meglátogatja a webhelyet, amely releváns lesz a közösségi hálózatok csoportjaira való különféle előfizetéseknél. Vannak modális ablakok a neten CSS, nos, szeretném átvenni ezt a részesedést JavaScript, mivel érdekesebbé teszi, és minden böngészőben jól működik.

ELSŐ LÉPÉS. JavaScript kód.

A modális ablak elindításához át kell adni az értéket a függvénynek window.onload. Amelyben két azonosító elemet adunk át " a"És" b".

//elemek átadása "a" és "b" azonosítóval window.onload = function() ( a = document.getElementById("a"); b = document.getElementById("b"); )

Ezután írjuk a "függvényt" showA", amely megmutatja a modális ablakot és átmegy az elemekhez" a"És" b"stílusok, vagyis beállítjuk az ablak átlátszóságát, szélességét és blokkolását, ha a linkre nem kattintottak" nyisd ki".

//a "showA" függvény ablakának megjelenítése function showA() ( //Állítsa be az átlátszóságot és blokkolja //a "b" elem megjelenítését b.style.filter = "alpha(opacity=80)"; b.style. opacity = 0,8; b .style.display = "block" // Az "a" elem blokkoló és felső kitöltésének 200 képpontja a.style.display = "block"; ";

A modális ablak megnyitása után később valahogyan be kell zárnunk vagy el kell rejtenünk, ehhez írjuk a " elrejteniA"amely elrejti a modális ablakot, és stílusokat rendel hozzá az elemekhez" a"És" b".

//Hívja meg a "hideA" függvényt, amely elrejti //az "a" és "b" elemek ablakát hideA() ( b.style.display = "none"; a.style.display = "none"; )

Teljes kód.

//elemek átadása "a" és "b" azonosítóval window.onload = function() ( a = document.getElementById("a"); b = document.getElementById("b"); ) //a függvényablak megjelenítése " showA" függvény showA() ( //Állítsa be az átlátszóságot és blokkolja //a "b" elem megjelenítését b.style.filter = "alpha(opacity=80)"; b.style.opacity = 0,8; b.style. display = " block" // Az "a" elem blokkoló és felső margója // a.style.display = "block" ) //Hívja a "; hideA" függvény, amely elrejti az //ablakot az "a" és "b" elemekhez. függvény hideA() ( b.style.display = "none"; a.style.display = "none"; )

MÁSODIK LÉPÉS. HTML kód.

Nyisd ki

A címkében "div" jelölje meg az azonosítót" a", amely kölcsönhatásba lép a stílusokkal CSSés kóddal JavaScript. Ezután hozzáadunk egy másik címkét " div"és adj neki egy azonosítót" ablakok", amely jelölésként működik a modális ablak tárolójában.

Belül jelezünk egy linket, amely a következő lesz Bezárás"modális ablak, adj neki stílust is" oldalakat"és adj neki egy alapértelmezett stílust" úszó: jobb", vagyis a jobb felső sarokban megjelenítünk egy linket a modális ablak bezárásához.

Bezárás

Regisztráljuk az azonosítót" b", ami elrejti az ablakot.

Teljes kód.

Nyit zár

HARMADIK LÉPÉS. CSS kód.

Kötelező stílusok CSS, amely nélkül a modális ablak nem fog megfelelően működni, vagy inkább egyáltalán nem fog működni, vagy egyáltalán nem jeleníti meg megfelelően az információkat.

Tehát ebben a példában az első szükséges stílus a pozíció tekintetében rögzített. Lehetővé teszi egy modális ablak megjelenítését, miközben a kitöltési szegélyre korlátozza. Használva z-index megadjuk, hogy a modális ablak mennyire azonosítható a linkre kattintás után" nyisd ki", és " Bezárás". Is kijelző: nincs, amely lehetővé teszi a modális ablak elrejtését, amíg a hivatkozásra nem kattint.

#b ( pozíció: rögzített; felül: 0; bal: 0; jobb: 0; alul: 0; kijelző: nincs; háttér: szürke; z-index: 1; ) #a ( szegély: 1 képpont tömör fekete; pozíció: rögzített ; háttér: #eff7ff; kijelző: nincs 4px szöveg-dekoráció: nincs

Mindenkinek nagyon köszönöm a figyelmet!

A fontos üzenetek vagy egyszerűen az oldalon végrehajtott módosítások megjelenítéséhez használhat felugró ablakokat. Kétféle felugró ablak létezik: normál és modális.

Megjegyzés: a modális ablakok abban különböznek a hagyományos ablakoktól, hogy amíg a modális ablak nyitva van, a felhasználó nem léphet kapcsolatba a webhely más elemeivel, amíg a modális ablak be nem záródik.

Példát láthat egy modális ablakra, amely JavaScriptet használ az alert() metódus használatával.

Felugró ablak

Az előugró ablak létrehozásának első lépése egy elem (vagy bármely más elem) létrehozása és stílusa:

Dokumentum címe .okno (szélesség: 300px; magasság: 50px; szövegigazítás: középre; kitöltés: 15px; szegély: 3px tömör #0000cc; keret-sugár: 10px; szín: #0000cc; ) Felugró ablak! Próbáld ki "

Ez felugró ablakként lesz használva. Most elrejtjük a megjelenítési tulajdonság none értékével, és hozzáadunk egy hivatkozást, amelyre kattintva egy felugró ablak jelenik meg:

Dokumentum címe #okno (szélesség: 300px; magasság: 50px; szövegigazítás: középre; kitöltés: 15px; szegély: 3px tömör #0000cc; szegélysugár: 10px; szín: #0000cc; kijelző: nincs; ) #okno:cél (megjelenítés: blokk;) Felugró ablak! Felugró hívás Próbálja »

A pszeudo-class:target segítségével kiválasztunk és stílusokat alkalmazunk arra az elemre, amelyhez navigáltunk. Így a hivatkozásra kattintás után az elem megjelenítési tulajdonságának értéke none-ról block -ra változik.

Most az oldal közepére kell helyeznünk úgy, hogy úgy nézzen ki, mint egy felugró ablak. Tegye abszolút helyzetbe, és középre állítsa függőlegesen és vízszintesen:

#okno ( szélesség: 300px; magasság: 50px; szövegigazítás: középre; kitöltés: 15px; szegély: 3px tömör #0000cc; szegélysugár: 10px; szín: #0000cc; kijelző: nincs; /*pozíció és közép*/ pozíció: felső: 0;

A következő lépés az ablak elrejtése, amikor az oldalon vagy magára az ablakra kattint. Ehhez el kell helyeznünk az elemet az elemen belül:

Felugró ablak!

Ezután pozícionáljuk az elemet és nyújtsa ki az ablak teljes szélességében és magasságában. Beállítjuk a kijelzőt: nincs; és irányítsd át a linkünket:

Dokumentum címe #fő (megjelenítés: nincs; pozíció: abszolút; felül: 0; bal: 0; szélesség: 100%; magasság: 100%; ) #okno (szélesség: 300px; magasság: 50px; szövegigazítás: középen; kitöltés : 15px szegély: 0000cc szín: 0 (kijelző: blokk;) Felugró hívás Próbálja »

Kijelző eltávolítása: nincs az elemből. (már nincs rá szükség, mert most bujkálunk ). Ennek eredményeként a szülő most elrejti a felugró ablakot azáltal, hogy átirányítja a kijelölést az oldalra.

Ezzel befejeződik egy egyszerű felugró ablak létrehozása.

Modális ablak

Egy felugró modális ablak létrehozásához vegye az elemet, tervezze meg és adjon hozzá egy hivatkozást, amelyre kattintva megjelenik:

Dokumentum címe #okno ( szélesség: 300 képpont; magasság: 50 képpont; szövegigazítás: középen; kitöltés: 15 képpont; szegély: 3 képpont tömör #0000cc; szegélysugár: 10px; szín: #0000cc; kijelző: nincs; pozíció: abszolút; tetején : 0; bal: 0; Felugró hívás

A teljes értékű modális ablak létrehozásának következő lépése egy gomb hozzáadása, amely elrejti az ablakunkat. Egy normál linkből készítünk egy gombot, hozzáadjuk a sajátunkhoz és megtervezzük:

Dokumentum címe #okno ( szélesség: 300 képpont; magasság: 50 képpont; szövegigazítás: középen; kitöltés: 15 képpont; szegély: 3 képpont tömör #0000cc; szegélysugár: 10px; szín: #0000cc; kijelző: nincs; pozíció: abszolút; tetején : 0; bal: auto ) #ablak: 0 12px: hover; : #e6e6ff;)
Ablak bezárása Hívás felugró ablak Próbálja »

A modális ablak megjelenítésekor az oldal halványítása érdekében az összes meglévő ablakkódot el kell helyeznie egy másikba:

Felugró ablak!
Zárjon be egy ablakot

Helyezze el a szülőt, és nyújtsa ki az ablak teljes szélességében és magasságában. Beállítjuk a kijelzőt: nincs; és irányítsa át rá az ablakhívás hivatkozását.

A gyermek számára távolítsa el a kijelzőt: nincs; (már nincs rá szükség, mert a szülő mindent elrejt benne). Ennek eredményeként a szülő felel a modális ablak megjelenítéséért és az oldal hátterének tompításáért, a gyermek pedig csak magának az ablaknak a díszítéséért:

Dokumentum címe #zatemnenie ( háttér: rgba(102, 102, 102, 0,5); szélesség: 100%; magasság: 100%; pozíció: abszolút; felül: 0; bal: 0; kijelző: nincs; ) #okno ( szélesség: 300px: border-radius: 0px: auto: #fff .close; szegély: 1px: #0000cc;
Ablak bezárása Hívás előugró ablak Próbálja »

Megjegyzés: ha azt szeretné, hogy a felhasználó azonnal lásson egy felugró ablakot az oldalra való belépéskor (és ne egy linken keresztül hívja meg), akkor meg kell adni az oldal címét az ablak azonosítójával együtt (pl. így néz ki: site.ru/papka/documet.

1. Modális ablak a jQuery "Simple Modal Box"-on 2. jQuery bővítmény "LeanModal"

Tartalom megjelenítése modális ablakokban. Ha látni szeretné a beépülő modult működés közben a bemutató oldalon, kattintson a linkre: Regisztrációs űrlap vagy Alaptartalom.

3. „ToastMessage” jQuery bővítmény

Előugró üzenetek. A bővítmény két változatban érhető el. Az egyik esetben az üzenetek egy bizonyos idő elteltével maguktól eltűnnek, a második megvalósításnál az üzenet bezárásához egy gombra kell kattintani.

4. Egy modális ablakban megjelenő tartalom

"Reveal" bővítmény. A beépülő modul működésének megtekintéséhez kattintson a „Fire A Reveal Modal” gombra a bemutató oldalon.

5. Aranyos párbeszédpanelek

Kattintson a keresztre a bemutató oldalon, hogy megnézze a bővítmény működését.

6. Mootools modális ablak, „MooDialog” plugin 7. jQuery felugró panel a képernyő tetején 8. jQuery felugró ablak

jQuery beépülő modul a visszajelzési űrlap megjelenítéséhez egy felugró ablakban.

10. MooTools „LightFace” bővítmény a Facebook párbeszédpanelek megvalósításához

Facebook stílusú párbeszédpanelek. A statikus információkon kívül képeket, kereteket és Ajax kéréseket helyezhet el az ablakokban. Rengeteg beállítás a plugin működéséhez, nagyon hatékony eszköz. Nagyon stílusosnak és funkcionálisnak tűnik. Kövesse a bemutató oldalon található hivatkozásokat, ha különböző tartalmú példákat szeretne látni.

11. jQuery modális ablak

Egy ügyes felugró párbeszédpanel a jQuery-ben.

12. jQuery modális ablakok

Aranyos felugró modális ablakok. Három stílus. A bemutató oldal 3 hivatkozást tartalmaz a megnyitott ablakokhoz.

13. jQuery modális ablakok

Többféle felugró modális ablak. A beépülő modul működésének megtekintéséhez kattintson a linkre a bemutató oldalon.

15. Az oldal tetején megjelenő üzenet

Az üzenet az oldal tetején jelenik meg, amely viszont halványan jelenik meg. Kattintson a „Kattintson rám” gombra a bemutató oldalon, hogy megjelenjen egy felugró üzenet. A keresztre kattintva bezárja azt. jQuery segítségével valósítva meg.

16. Modális ablak „ModalBox” a javascriptben

Valósítson meg modern modális párbeszédpaneleket előugró ablakok és oldalújratöltések használata nélkül. A bemutató oldalon kattintson a „Demó indítása” gombra a szkript működés közbeni megtekintéséhez.

17. „Leightbox” bővítmény a Prototype könyvtár használatával

Beépülő modul tartalom megjelenítéséhez modális ablakokban.

Üdv mindenkinek. A minap alaposan megnéztem a blog statisztikáit, és rájöttem, hogy a modális ablakok létrehozására vonatkozó példák az internetes dolgozóink számára is nagyon érdekesek. A legnépszerűbb megoldások a pop-up ablakok javascript használata nélküli megvalósítására szolgáló megoldások bizonyultak, kizárólag pure .
Munkám során sok érdekes megoldás halmozódott fel, amelyeket különböző időpontokban részletesen leírtam a blogom oldalain található cikkekben, ám ezek közül sok tanulság idővel háttérbe szorult. A blogolvasók néha nehezen tudnak eligazodni, és a hatékony modális ablakok és előugró űrlapok létrehozásának legtöbb hatékony módszere egyszerűen észrevétlen marad.
Ezért, figyelembe véve a felhasználók érdeklődését ebben a kérdésben, úgy döntöttem, hogy egyesítem a témával kapcsolatos összes tanulságot és példát, és egy külön cikkben megjelenítem a modális ablakok és űrlapok gyűjteményét. Az eredmény egy rövid áttekintés rövid leírással, példákra és cikkekre mutató hivatkozásokkal. Szóval nézz, tanulmányozd, és ha valakinek megtetszik valamelyik megoldás, nyugodtan vegye elő a forráskódot, és alkosson, alkosson, alkosson...

1. Modális ablakok CSS3 használatával Javascript nélkül

A modális ablakok létrehozásának legnépszerűbb módja a blogom olvasói körében. Nagyon könnyen megvalósítható. A felugró blokkok megjelenése és minden funkció kizárólag a CSS3-on alapul, Javascript és további grafikai elemek nélkül.
Lehetőség modális ablakok csatlakoztatására és megjelenítésére szinte bármely webhelyen. Elég a html keretet a megfelelő helyre helyesen elhelyezni, hozzáadni a szükséges tartalmat, stílusokat összekapcsolni, az egészet egy aktiválógombhoz vagy az oldal bármely más eleméhez (képek, menüpontok, linkek, egyetlen szó) kapcsolni. a szöveg stb.) és készen áll.

2. Modális ablak CSS és

Egy nagyon egyszerű, könnyű jQuery plugin, amellyel gyorsan és egyszerűen implementálhatja weboldalán a modális ablakok megjelenítését bármilyen információval, legyen az egyszerű szöveg, kép, különféle űrlapok vagy beágyazott videó.
A megjelenést CSS segítségével alakítjuk ki, az ablakméretet közvetlenül a linkben, a href="#?w=500" attribútumban állítjuk be, ahol a #?w=500 a szükséges ablakszélességet jelöli. A lecke részleteinek tanulmányozása után azonban minden rendkívül világos lesz. Ahhoz, hogy ez a megoldás működjön, a webhelyhez kapcsolódó jQuery könyvtárra van szükség.

3. Adaptív modális ablak szigorúan középen

Kezdetben a blokkelemek tartalommal való abszolút központosításáról gondolkoztak a leckében, de erről annyit írtak, hogy úgy döntöttem, felhígítom a témát az alkalmazkodóképességgel, és az egészet egy modális ablakra borítom, kizárólag CSS eszközöket használva. A leckét tanulmányozva megtudhatja, mi sült ki ebből.

4. Modális ablak HTML5, CSS3 és rejtett jelölőnégyzetekkel

Egészen új módszer a pop-up (modális) ablakok megvalósítására. Gyakran használtam rejtett jelölőnégyzeteket legördülő információs blokkok vagy „”” létrehozásához. Ennek eredményeként minden nagyon egyszerűnek bizonyult a CSS3 és a HTML5 szintaktikai jellemzői segítségével, könnyedén megszervezheti a modális ablakok munkáját. Nem koncentráltam túl sokat a dizájnra (nem ez a lényeg), a Bootstrap infóblokkokat vettem kiindulópontnak. A módszer minden modern böngészőben tökéletesen működik;

5. Modális videoblokk a CSS3-ban

A videónézés modális blokkban, kizárólag CSS3 használatával, javascrip nélkül történő szervezése kísért. Nem, minden rendben van a videokimenettel a modális ablakban, nem találok megfelelő és kielégítő megoldást a videó leállítására, amikor az ablak be van zárva. Hülyén használtam egy üres href="" attribútumot tartalmazó linket, ez a nem egészen kóser módszer sok képzett mesterembert megfordít álmában, de jelenleg még nem találtam hatékonyabb és érvényesebb megoldást.

Gyakran kérdezték tőlem, hogy nem csak képekhez, hanem szövegekhez is be lehet-e ágyazni valamilyen csúszkát egy modális ablakba. Miért ne. A burzsoázia talált egy egyszerű tartalomforgatót, amely minden paraméternek megfelelt, csak kombinálni kellett egy kész modális ablakkal. És a végén az történt, ami történt :)). Nézd, minden nagyon egyszerűen megvalósítható.

7. Kapcsolatfelvételi űrlap integrálása modális ablakba

Sok webhely használ felugró visszajelzési űrlapokat, regisztrációs és bejelentkezési űrlapokat. A legegyszerűbb módja egy működő űrlap beágyazása egy kész modális ablakba. Vegyünk egy elég tisztességes formát, a CSS3-ban lefektetve, a fent bemutatott modális ablak bármely verzióját, csak az marad, hogy mindkét elemet egyetlen mechanizmusba egyesítsük. Hogyan kell csinálni? Pontosan erről van szó a bemutatott leckében.

Egy különálló, modális kapcsolatfelvételi űrlap kiváló lehetőség arra, hogy felhasználói üzeneteket küldjenek bármely oldalról vagy egyéni webhely (blog) bejegyzéséről. Helyesen csatolja az űrlaphoz a PHP-kezelőt, helyezze a kívánt oldal törzsébe, és ennyi, csak időnként ellenőrizni kell a postafiókját. Ez a módszer minden modern böngészőben megfelelően működik: Chrome, Firefox, Opera, Safari, Internet Explorerben is, a 9-es verziótól kezdve. Maga az űrlap modális ablak funkcióval van felszerelve CSS3 varázslat segítségével.

A lightbox egyfajta modális ablak, vagy inkább a működési elve szinte ugyanaz, bár leginkább nagyított vagy teljes méretű képek megtekintésére használják. Egy időben úgy döntöttem, hogy elkészítem a Lightbox többé-kevésbé adaptív verzióját, kizárólag CSS3 használatával. Megtudhatja, mi sült ki ebből, ha megnézi a példát, és ha releváns a téma, tanulmányozza a leckét. Azok a felhasználók, akik erősen ragaszkodnak az IE 8-hoz és az alatti verziókhoz, sajnos nem látnak semmit, a módszer a pszeudo-class:target használatán alapul.

10. Felugró kapcsolatfelvételi űrlap a webhelyhez

Érdekes (szerintem) megoldás egy külön, eredetileg tervezett, pop-up kapcsolatfelvételi űrlap létrehozására az oldalhoz. Az űrlap az onclick esemény feldolgozásán alapul. Tervezés eredeti kép felhasználásával postai boríték formájában. Az űrlap minden böngészőben gyorsan és helyesen működik, így méltó példája a felhasználókkal való interakciónak.

11. Felugró ablak a webhely betöltésekor CSS3 és egy kis javascript segítségével

Sok máshoz hasonlóan engem is lefagynak a különféle felugró ablakok, amikor az oldal kezdetben betöltődik. Szerintem ez a módszer túl tolakodó. De a funkció keresett és széles körben használt, ami azt jelenti, hogy valószínűleg még mindig érdemes megnézni, hogyan működik az egész. Minden modern böngésző gyanakszik a különféle felugró ablakokra a webhely betöltésének kezdeti szakaszában, egyszerűen blokkolja őket. A bemutatott leckében részletesen leírom, hogyan lehet ezt a blokkolást megkerülni, valamint megtanulja, hogyan kell helyesen használni a cookie-kat, hogy az ablak az oldal első meglátogatásakor, vagy bizonyos időközönként megjelenjen a felhasználó számára.

Valószínűleg ennyi. Természetesen van néhány más munkalehetőség a modális ablakok létrehozására a rejtettben, de olyan sok van belőlük az interneten, a lényeg az, hogy megtalálja, amire szüksége van. Remélem, ez a válogatás segít eligazodni a témában a blogom cikkeinek halomában. Mivel az ásatások sikeresek és elveszett anyagokat találnak, a felülvizsgálatot frissítjük.

Minden tisztelettel, Andrew

Még egyszer rátérek a modális (pop-up) ablakok létrehozásának témájára. Az utóbbi időben egyre jobban érdekelnek a felugró ablakok végrehajtásának különféle technikái javascript, jQuery bővítmények stb. használata nélkül. Nagyobb érdeklődésre tart számot a tiszta stílusok használatának lehetősége és az új funkciókban rejlő kimeríthetetlen lehetőségek.
Néhány tekintélyes burzsoá fejlesztései alapján e tekintetben ravasz srácok, jó eredményeket érnek el a CSS3 segítségével modális ablakok létrehozása terén. A feladat mindenekelőtt a végeredmény többé-kevésbé stabil, böngészők közötti kompatibilitásának elérése, és természetesen a legkisebb veszteséggel a teljes kódmennyiség csökkentése mind HTML-ben, mind CSS-ben, hogy megkönnyíti a honlapkészítésben sokat szenvedett dolgozók életét.
Hogy a végén mi történik ezzel kapcsolatban, azt meglátjuk, és egyúttal megtanuljuk, hogyan készítsünk felugró modális ablakokat a CSS3 „varázslatával”.

Frissítve: 2017.10.27


Először is, mindazok, akiket érdekel ez a téma, nézzen meg egy példát a modális ablakok működésére a különböző verziókban, és töltse le a forrásokat:

Ezt a leckét nem szabad cselekvési útmutatónak tekinteni, mivel ebben a szakaszban csak a modern böngészők (IE 9+, Firefox, Safari, Opera, Chrome) lehetett megbízható támogatást elérni. Tekintettel arra, hogy az IE böngésző ősi verziói még mindig meglehetősen népszerűek a felhasználók körében, javaslom, hogy ezt a cikket egyfajta kísérletként tekintsék, a CSS3 képességeinek bemutatását.

Oké, most térjünk át közvetlenül a html kód tényleges elrendezésére és a modális ablakunk stílusára a css3 használatával)))

1. lépés: HTML

Először is hozzunk létre néhány alapvető HTML-jelölést. Amint látható, az alapkialakítás meglehetősen egyszerű, ha figyelembe vesszük a modális ablakok és gombok (hivatkozások) html jelölését az aktiváláshoz. Minden modális ablak nem más, mint egy szabványos konténer, benne bizonyos tartalommal és egy „Bezárás” gombbal, amelyet kizárólag CSS használatával alakítanak ki.

< a href= "#win1" class = "button button-green" >Nyissa meg az ablakot 1< a href= "#win2" class = "button button-red" >Nyissa meg az ablakot 2< a href= "#win3" class = "button button-blue" >Videó a 3-as ablakban< a href= "#win4" class = "button button-orange" >Fotó a 4-es ablakban< a href= "#win5" >< img title= "" src= "img/realism_lrg.jpg" width= "150" height= "150" alt= "" /> < a href= "#x" class = "overlay" id= "win1" > < div class = "popup" > < a class = "close" title= "Bezárás" href= "#close" > < a href= "#x" class = "overlay" id= "win2" > < div class = "popup" >Ide bármilyen tartalmat, szöveget elhelyezhet képekkel vagy videókkal!< a class = "close" title= "Bezárás" href= "#close" > < a href= "#x" class = "overlay" id= "win3" > < div class = "popup" > < h2>Cím Ide illesztheti be a videót vagy bármely harmadik féltől származó forrásból, YouTube-ból, Vimeóból stb. (iframe, beágyazás) ...< a class = "close" title= "Bezárás" href= "page.html" onclick= "return false" > < a href= "#x" class = "overlay" id= "win4" > < div class = "popup" > < img class = "is-image" src= "ваша-картинка.jpg" alt= "" /> < a class = "close" title= "Bezárás" href= "#close" > < a href= "#x" class = "overlay" id= "win5" > < div class = "popup" > < img class = "is-image" src= "ваша-картинка.jpg" alt= "" /> < a class = "close" title= "Bezárás" href= "#close" >

Nyitott ablak 1 Nyissa meg az ablakot 2 Videó az ablakban 3 Fénykép a 4. ablakban Ide bármilyen tartalmat, szöveget elhelyezhet képekkel vagy videóval! Cím Ide illesztheti be a videót, vagy bármely harmadik féltől származó forrásból, YouTube-ból, Vimeóból stb. (iframe, beágyazás)...

A fenti kódpéldában az érthetőség kedvéért rövid magyarázatokat írtam a modális ablakok konténereibe. Hasonlatosan, csak el kell helyeznie bármely tartalmát a felugró ablak div konténerébe, legyen az egyszerű szöveg, képek vagy videók bármely harmadik féltől származó forrásból, YouTube, Vimeo stb. Hivatkozásokat készíthet a modális ablakok szövegének meghívására, vagy formázhatja azokat az űrlapon, mint a példában.

2. lépés: CSS

A következő lépés, ez a legérdekesebb, fontos, hogy minden szükséges stílust előkészítsünk a modális ablakunkhoz, megtervezzük a megjelenést és a funkcionalitást. Az alapvető oldalstílusokat kihagytam, hogy ne okozzak félreértést, és a jobb érthetőség kedvéért néhány szabályt megjegyzésekkel hígítottam:

/* Az elsötétítő réteg és a modális ablak alapvető stílusai */ . átfedés (fent: 0; jobbra: 0; lent: 0; balra: 0; z-index: 10; kijelző: nincs; /* háttér fade */ háttérszín: rgba(0, 0, 0, 0.65) ; pozíció : fix /* fix pozicionálás */ kurzor: alapértelmezett ; overlay: target ( display: block; ) /* modális stílusok */ . előugró ablak ( fent: - 100%; jobbra: 0; balra: 50%; betűméret: 14 képpont; z-index: 20; margó: 0; szélesség: 85%; minimális szélesség: 320 képpont; maximális szélesség: 600 képpont; /* fix pozicionálás, görgetéskor az ablak stabil */ pozíció: fix padding: 15px solid #383838 - webkit- border- sugár: 4px - ms-; határ- sugár: 4px, 20px rgba(0, 0, 0, .22) , 0 19px 60px rgba(0, 0, 0, .3) - moz-box-shadow: 0 15px.; rgba(0, 0, 0, .22) , 0 19px 60px rgba(0, 0, 0, .3) ; - ms-box-shadow: 0 15px 20px rgba(0, 0, 0, .22) , 0 19px 60px rgba(0, 0, 0, .3 ) ; -transzformáció: lefordít(- 50%, - 500% ) ; - o-transzformáció: lefordít(- 50%, - 500% ) ; transzformáció: fordít(- 50%, - 500% ) ; - webkit- átmenet: - webkit- transzformáció 0. 6s ease- out; - moz- átmenet: - moz- transzformáció 0. 6s ease- out; - o- átmenet: - o- transzformáció 0. 6s könnyű- ki; átmenet: transzformáció 0. 6s ease- out; ) /* aktiválja a modális blokkot */ . átfedés: cél+. popup ( - webkit- transzformáció: fordítás(- 50%, 0 ) ; - ms- transzformáció: translate(- 50%, 0 ) ; - o- transzformáció: translate(- 50%, 0 ) ; transzformáció: fordítás(- 50 %, 0 ) ; felső: 20 % ) /* bezárás gombot */ . bezárás ( fent: - 10px; jobbra: - 10px; szélesség: 20px; magasság: 20px; pozíció: abszolút; kitöltés: 0 ; szegély: 2px tömör #ccc; - webkit- border- sugar: 15px; - moz- border- sugar : 15px; - ms- border- sugar: 15px; background: rgba (61, 61, 0.8) 0px 10px #000 - moz-box-shadow: 0px 0px 00p; szöveg igazítása: 13px/ 20px "Tahoma" , font-weight: félkövér; 8s; - moz- átmenet: minden könnyű. 8s; -ms- átmenet: minden egyszerű. 8s; -o- átmenet: minden könnyű. 8s; átmenet: minden könnyű. 8s; ) . bezárás: előtt ( szín: rgba(255 , 255 , 255 , 0.9 ) ; tartalom: "X" ; text-shadow: 0 - 1px rgba(0 , 0 , 0 , 0.9 ) ; betűméret: 12px; ). close: hover ( háttérszín: rgba(252, 20, 0, 0.8) ; - webkit - transzformáció: forgatás (360deg) ; - moz- transzformáció: forgatás (360deg) ; - ms- transzformáció: forgatás (360deg) ; - o- transzformáció: rotate(360deg) ; popup img ( szélesség: 100%; magasság: automatikus; ) /* miniatűrök balra/jobbra */ . kép-bal, . kép-jobb (szélesség: 25%; magasság: automatikus; ) . pic-left ( lebegés: balra; margó: 5px 15px 5px 0 ; ) . pic- jobb ( lebegés: jobb; margó: 5px 0 5px 15px; ) /* m-média elemek, keretek */ . felugró beágyazás, . előugró iframe (fent: 0; jobbra: 0; lent: 0; balra: 0; kijelző: blokk; margó: automatikus; minimális szélesség: 320 képpont; maximális szélesség: 600 képpont; szélesség: 100%; ) . popup h2 ( /* fejléc 2 */ margó: 0 ; szín: #008000; kitöltés: 5px 0px 10px; szövegigazítás: balra; szöveg-árnyék: 1px 1px 3px #adadad; betűsúly: 500; betűméret: 1. 4em betűcsalád: "Tahoma" , Arial, sormagasság: 1.3 ) /* bekezdések */ . előugró p ( margó: 0 ; kitöltés: 5 képpont 0 )

/* A fade réteg és a modális */ .overlay alapvető stílusai ( fent: 0; jobbra: 0; lent: 0; balra: 0; z-index: 10; megjelenítés: nincs; /* háttér elhalványítása */ háttérszín : rgba(0, 0, 0, 0.65 pozíció: fix ) / * modális ablakstílusok */ .popup ( felső: -100%; jobb: 0; bal: 50%; betűméret: 14 képpont; z-index: 20; margó: 0; szélesség: 85%; min-szélesség : 320px ; max-width: 600px, stabil görgetéskor sugár: 4px; -ms-border-radius: 4px; betűtípus: 14px/18px "Tahoma", Arial, -box-shadow: 0 15px 20px rgba(0,0,0,.22),0 19px; 60px rgba(0,0,0,.3); -moz-box-shadow: 0 15px 20px rgba(0,0 ,0,.22),0 19px 60px rgba(0,0,0,.3); -ms-box-shadow: 0 15px 20px rgba(0,0,0,.22),0 19px 60px rgba(0,0,0,.3); box-shadow: 0 15px 20px rgba(0,0,0,.22),0 19px 60px rgba(0,0,0,.3); -webkit-transzformáció: lefordítás(-50%, -500%); -ms-transzformáció: lefordítás(-50%, -500%); -o-transzformáció: lefordít(-50%, -500%); transzformáció: lefordítás(-50%, -500%); -webkit-transition: -webkit-transform 0.6s easy-out; -moz-transition: -moz-transform 0.6s easy-out; -o-transition: -o-transform 0.6s easy-out; átmenet: transzformáció 0.6s könnyítés; ) /* aktiválja a modális blokkot */ .overlay:target+.popup ( -webkit-transform: translate(-50%, 0); -ms-transform: translate(-50%, 0); -o-transform: translate ( -50%, 0) transzformáció (-50%, 0% ) /* a bezárás gombból */. magasság: 20px; szegély: 15px; -box-shadow: 0px 10px #000 box-shadow: 0px 10px #000 font: 13px/20px "Tahoma", sans-serif: .8s; .8s; -ms-transition: minden egyszerű .8s; 9);

Amint látjátok, kedves barátaim, minden nagyon egyszerű, és nincs szükségtelen zűrzavar. Ha mindent helyesen csinálsz, akkor egy csodálatos eszközt kapsz a tarsolyodba, amelyben bármilyen tartalmat elhelyezhetsz, legyen az szöveges tartalom, fényképek, különféle regisztrációs és visszajelzési űrlapok, vagy bármilyen külső forrásból származó videó. Kísérletezzen a paraméterekkel, módosítsa az ablakot tetszés szerint. Ha lehetséges, ossza meg tapasztalatait vagy hirtelen felmerülő problémáit a megjegyzésekben.

Vagy talán ez érdekes lesz számodra: Kiegészítések:

Gyakran, sőt nagyon gyakran felteszik nekem a kérdést, hogyan lehet megfelelően leállítani a videolejátszást egy mod bezárásakor. ablak. Amikor bezárja a modális ablakot, a videó lejátszása a bemutatóban leáll. A demóban az onclick eseményt használtam az ablak bezárása gombhoz, a linkben feltüntetve a bemutató oldal címét, pl. oldal, amelyen a videó ablak található:

Egyszerűen használhatsz egy üres href="" attribútummal ellátott linket, mindkét esetben újra betöltődik az oldal és ennek megfelelően az ablak bezáródik és a videó leáll, persze mankó, de nincs más hatékonyabb és érvényesebb megoldás, Javascript csatlakoztatása, jelenleg nem vagyok itt.

< script type= "text/javascript" src= "http://www.youtube.com/player_api" >

A JavaScript API-val a Chromeless Player és a YouTube beágyazott lejátszó JavaScript kóddal vezérelhető. A beágyazott videóval rendelkező modális blokknál a végrehajtható js a következő lesz:

< script>var player; function onYouTubePlayerAPIReady() ( player = new YT. Player("player" ) ; ) $("#stop" ) . kattintás(függvény () ( lejátszó. stopVideo() ) )

var player; function onYouTubePlayerAPIReady() ( player = new YT.Player("player"); ) $("#stop").click(function())( player.stopVideo() ))

Ha rákattint az id="stop" gombra, a funkció meghívódik, az ablak bezáródik és a videó lejátszása leáll.
Azonban meg kell értenie, hogy más videoszolgáltatások esetében a tamburákkal való tánc más lesz))). Bár mindig van választás - kész speciális bővítmények használata.

Az orosz nyelvű országokban élő webtervezők és vállalkozók valószínűleg nem csak angol nyelvű sablonokat akarnak használni. Az orosz nyelvű kész megoldások gyűjteményeihez is hozzá akarnak jutni. Ezért szeretnénk felhívni a figyelmet a legújabb részre, amelyet most a TemplateMonster piactéren mutatnak be. Érdemes megemlíteni, hogy az egyes sablonok szövegét kézzel írták. Ráadásul nincs szükség haladó programozási ismeretekre egy lenyűgöző online projekt létrehozásához.

Minden tisztelettel, Andrew

 

Hasznos lehet elolvasni: