- lezso6: Nem látszik a kurzor Chrome alatt a beviteli mezőkben?
- vrob: Az IBM PC és a játékok a 80-as években
- eBay-es kütyük kis pénzért
- hdanesz: Elektromos autózás - első élmények
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- Lalikiraly: SÜNI energiaital.
- zebra_hun: Hűthető e kulturáltan a Raptor Lake léghűtővel a kánikulában?
- Gurulunk, WAZE?!
- sziku69: Fűzzük össze a szavakat :)
-
LOGOUT
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
De az már külön függvény dolga, ez attól független. Plusz akkor arra is mindenképp figyelj oda, hogy nehogy egy scriptfájlt többször is be akarjon húzni, ezt előtte mindenképp csekkold, hogy nem lett-e már include-olva. Lehet akár csúf globális változóba is tárolni, vagy id-t adni a script tagnek, és annak meglétét ellenőrizni, és egyéb megoldásokon is lehet törni a fejed.
-
Sk8erPeter
nagyúr
Szívesen! A document.head nem minden böngészőben támogatott:
https://developer.mozilla.org/en-US/docs/DOM/document.head
azt hiszem, csak a HTML5 specifikációban rögzítik, hogy ez így valid.
Ha ez a document.head undefined, mert az adott böngészőben nem támogatott, akkor a VAGY-kapcsolatnál lévő értékadás jut érvényre:
document.head = document.getElementsByTagName('head')[0]
így már nem lesz undefined a document.head; a document.getElementsByTagName('head')[0] a legtöbb böngészőben működik, csak valamennyivel lassabb, lásd:
http://jsperf.com/document-head
Persze nem lenne muszáj egyébként ez az értékadás; lehetne úgy is, hogy
var headNode = ( document.head | document.getElementsByTagName('head')[0] );
a hatás elvileg ugyanaz lenne, a headNode a helyes értéket kapná (most nem beszélek arról az esetről, ha valamelyik degenerált kód rosszul bírálta felül a document.head-et), csak utóbbi esetben a document.head-nek nem lenne értékadás, ami egyébként nem is muszáj, nyugodtan kihagyható.
Tehát ha úgy jobban tetszik, az utóbbi értékadást is használhatod.Szerk.: amúgy úgy is átalakíthatod, hogy a függvénynek átadod, hogy melyik elemhez szeretnéd appendelni a script taget. Mindenesetre mivel ez is ismétlődő feladat lehet, mindenképp érdemes szerintem függvénybe rakni, és úgy meghívni (beszédesebb is).
-
Sk8erPeter
nagyúr
Most csak arra a részre reagálok, hogy a document.write() ilyesmi feladatokra ritka kivételektől eltekintve (pl. amikor csak meg akarod mutatni, hogy igen, ilyen is van) sztem elég csúnya megoldás alapból.
Akkor már valahogy így, jQuery használata nélkül:
/**
* Inject a JavaScript file into the header
*/
function injectJavaScriptFile( jsFilename, idOfScriptTag ){
// http://jsperf.com/document-head
document.head || (document.head = document.getElementsByTagName('head')[0]);
var
headNode = document.head,
newScriptNode = document.createElement('script');
newScriptNode.type = 'text/javascript';
if(idOfScriptTag){
newScriptNode.id = idOfScriptTag;
}
newScriptNode.src = jsFilename;
headNode.appendChild(newScriptNode);
}aztán így használhatod:
injectJavaScriptFile('myscriptfile.js');
-
martonx
veterán
mondjuk jquery nélkül?
Egyébként javaslom, ne a window szélességét figyeld, hanem a document.body-ét.
És a régebbi IE-knél rémlik, hogy még adocument.body is rosszul számolódott, mert nem vette figyelembe a scrollbar-t.
Pontosan mi a célod? A CSS lekezeli a többféle felbontást, mi az amihez külön javascript is kell? -
Sk8erPeter
nagyúr
Mivel semmi kódot nem látunk, így nehéz lesz segíteni. Megnéztem a honlapját, és ott egy 1 perces időtöltés alatt egy normális doksit sem találtam, szóval én nem nagyon tudok miből kiindulni.
===================
(#3261) martonx :
"Mivel aszinkron felépítésű, és a javascript kód gépi kóddá fordulhat, ezért igen hatékony szerver oldalt lehet benne készíteni. Már ha nem lenne a javascript olyan amilyen."
Mármint konkrétan mire gondolsz? -
Sk8erPeter
nagyúr
Szerintem a legtisztább megoldás a jQuery-s .data() használata, amivel data-attribútumok állíthatók be; tisztább, szárazabb, biztonságosabb érzés.
A kód nem lesz csúnya tőle.
Átalakítva a saját korábbi demómat, készítettem egy újabbat neked:http://jsfiddle.net/Sk8erPeter/HLT3J/2/
Külön-külön nyilvántartható így az aktuális beállítandó background-position és az aktuális kívánt irány is.
Aztán ezt ízlésednek megfelelően átalakíthatod. -
Soak
veterán
Itt a kód : http://pastebin.com/LAagfMKx
szerk: Persze itt még csak a class-t piszkálja, de nyilván ha sikerülne megcsinálni akkor beadnám nei az id-t.
szerk2 : nem is a változó inicializása miatt nem megy, hanem amikor át akarom addni a funkciónak.
-
Sk8erPeter
nagyúr
Ja, jogos, erre nem lett felkészítve a korábbi kód. Most érdemben nincs időm foglalkozni vele, de ja, a this a megfelelő kulcsszó, a .hover() eseménykezelőjén belül például:
$(this).css('background-position', .......);
Viszont azzal számolj, hogy így több elemnél nyilván kell tartani az összeshez tartozó épp aktuális scrollozást, vagy csak a jelenlegihez képest tologatni mindig, mindenesetre azért át kell variálni a kódot. -
Sk8erPeter
nagyúr
Szerintem a JS nélküli működésre itt nem érdemes építeni, legfeljebb CSS3-as újításokkal megoldani az animációt, amennyiben a böngésző támogatja, amennyiben nem, na akkor lépne életbe a JS-sel való animálgatás, pont ilyenekre nagyon jól használható például a Modernizr, ezt tudom ajánlani, mert ilyenekre nagyon fasza. Én például olyanra használtam (csak egy kiragadott példa), hogy alapból CSS3-mal animáltam egy menü fel-lecsúszkálódását, aztán egy jQuery-kódban pedig a megfelelő Modernizr által JS-sel beállított class meglétét ellenőriztem, így tudtam csekkolni, adott böngészőben megvan-e a CSS3-as property támogatása, vagy sem (pl. IE8), ha nem, csak akkor kellett a jQuery-vel animálgatást beizzítani. Szerintem ez manapság járható út.
A két ötleted közül az elsőt én abszolút jónak tartom, én asszem azt választanám. Esetleg egy data-attribútummal (http://api.jquery.com/data/) is be lehetne állítani a hoverre betöltendő képet.
-
Sk8erPeter
nagyúr
Szívesen!
"Konkretan video previewnak lenne, tehat fix ertekkel kene kockat ugrania , majd elorol."
Na várj, és azt miért pont background-image-dzsel akarod megoldani? Már ha jól értem. Mondjuk végül is nem egy elvetemült gondolat, mert akkor csak egyszer kell betöltődnie, így kevesebb a request. Viszont annyiból nem biztos, hogy jó, hogy így ha kiraksz mondjuk 100 video preview-t, akkor 100 nagyobb képet kell betöltenie, mint amennyit szükséges, mert sanszos, hogy a júzer nem fog hoverezni mind a 100-ra. Szóval lehet, hogy érdemesebb lenne inkább különálló, de azonos méretű képeket betöltögetni szépen animálva. De persze ismerni kéne a konkrét körülményeket, meg a feladatot, mert végül is a jó megoldás kiválasztása nem triviális.Szerk.:
(#3140) Soak :
na ja, így is lehet, pixelekkel, de nem biztos, hogy "biztonságos", mert ha a kép keskenyebb/szélesebb, akkor az eltologatások nem biztos, hogy pontosak lesznek, a százalékos megoldás talán ennyiből jobb lehet.
Igaz, gondolom nálad úgyis fixálva lenne a háttérkép mérete, mindegyiknél azonos képkocka lenne.
És amúgy mi volt az oka, hogy a széles background-image-re esett a választás? Annak egyszerűsége? -
Sk8erPeter
nagyúr
Hali!
Most gyors kikapcsolódásként készítettem neked egy példademót, aminek a kódját már könnyen át tudod írni:
http://jsfiddle.net/Sk8erPeter/HLT3J/
Szerk.: a lényege, hogy százalékos alapon növelgeti-csökkentgeti a background-positiont, ezáltal jobbra-balra scrollozódik a background-image.
Lehet szépíteni a kódon, akár plugint is lehetne belőle készíteni. -
Sk8erPeter
nagyúr
Ha megnézed az általad belinkelt oldalt, akkor az Overlays szekción belül van egy olyan, hogy "Question with buttons" - erre a felpattanó overlay-re kellene raknod a bejelentkező formot, AJAX-szal elküldeni az adatokat szerveroldalra (úgy, hogy adatküldés közben megjelenítesz egy töltődést jelző ikont), majd a választól függően eldönteni, hogy akkor bejelentkezett-e sikeresen, vagy sem. Aztán ennek megfelelően frissíteni a tartalmat. Így nem lenne szükség semmiféle átirányításra, és így lenne szép megoldás.
-
Sk8erPeter
nagyúr
Eleve nem értem a dolgot, kezdjük az elején.
Bejelentkezési kísérletnél átirányítod a feldolgozást a pages/sign_in_form.php fájlba, mert ezt adtad meg az action attribútumban.
Normális bejelentkeztetés így néz ki:1.) form ->
2.) submit gombot megnyomja a felhasználó ->
3.) átirányítás a feldolgozó fájlba (nálad ez a sign_in_form.php, ez OK) ->
4.) a feldolgozó fájlban a formban átadott adatok megvizsgálása, validálása ($_POST) ->
5.) ez alapján eldönteni, hogy bejelentkezett-e a felhasználó, vagy sem ->
6.) ha igen, megfelelő session-változókat beállítani, ha nem, akkor erre vonatkozó figyelmeztetést beállítani (akár ezt is lehet sessionnel persze) ->
7.) VISSZAIRÁNYÍTANI az eredeti oldalra, ahonnan a kérés érkezett, vagy sikeres bejelentkezés esetén ÁTIRÁNYÍTANI megadott oldalra (pl. ha egy oldal megtekintéséhez authentikáció szükséges, átirányítod innen a felhasználót a bejelentkező oldalra, beállítasz az URL-be egy destination=/innen/jött/a/kérés $_GET-paramétert, és sikeres bejelentkezés után erre az /innen/jött/a/kérés oldalra irányítod át; vagy ha a felhasználó eleve a bejelentkező oldalra érkezett közvetlenül, akkor sikeres bejelentkezés után átirányítod a kezdőlapra, vagy egy másik default oldalra).
Természetesen minden oldal elején ellenőrzöd, a felhasználó bejelentkezett-e már (pl. létezik-e adott session-változó; persze ahol abszolúte nem szükséges a bejelentkezett állapot, ott nem kötelező, de jellemző az, hogy már az elején eldöntöd, anonim vagy bejelentkezett felhasználóról van-e szó, minden oldalon).Nálad úgy látom, a visszairányítás/átirányítás lépés elmarad.
-
Sk8erPeter
nagyúr
Új hozzászólás Aktív témák
Hirdetés
- Subaru topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Konteó topic
- Android alkalmazások - szoftver kibeszélő topik
- Milyen billentyűzetet vegyek?
- Autós topik látogatók beszélgetős, offolós topikja
- Hónap végén érkezik a Xiaomi Band 10, ára is van
- Nyaralás előtti hardverszemle
- Samsung Galaxy A52s 5G - jó S-tehetség
- Filmvilág
- További aktív témák...
- UF Lenovo Yoga 9i x360 Érintős Hajtogatós Laptop Tab 14" -60% i7-1360P 16/1TB Iris Xe 2,8K OLED 90Hz
- Lenovo Yoga 9i x360 Érintős Hajtogatós Laptop Tab 14" -60% i7-1260P 16/512 Iris Xe 2,8K OLED 90Hz
- Új DELL Inspiron 16 Fémházas Multimédiás Laptop 16" -40% Ryzen 7 8840U 8mag 16/1TB FHD+ IPS
- Új DELL Inspiron 16 Fémházas Multimédiás Laptop 16" -40% Ryzen 7 8840U 8mag 16/1TB FHD+ IPS
- Sony FE 28-70 mm F3.5-5.6 OSS
- LG 40WP95XP-W - 40" NANO IPS - 5120x2160 5K - 72Hz 5ms - TB 4.0 - HDR - AMD FreeSync
- Csere-Beszámítás! RTX Számítógép PC Játékra! I3 10100F / RTX 2060 12GB / 32GB DDR4 / 500GB SSD
- BESZÁMÍTÁS! Nintendo Switch 32GB V2 játékkonzol garanciával hibátlan működéssel
- BESZÁMÍTÁS! Microsoft XBOX One S 2TB játékkonzol garanciával hibátlan működéssel
- Akciós Windows 10 / 11 Pro OEM Licenc Kulcs 100% eredeti, jogtiszta!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest