- Android alkalmazások - szoftver kibeszélő topik
- Mobilhasználat külföldön
- Milyen okostelefont vegyek?
- Honor Magic6 Pro - kör közepén számok
- Google Pixel 6/7/8 topik
- Drágább lett a Pixel 8a
- MG5 menetpróba
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- Okosóra lett a Huawei fitnesz karperecéből
- Elkaszálhatja az Apple az iPhone Plust
Hirdetés
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Bemutatta a DisplayHDR 1.2-t a VESA
ph Bővülnek és változnak a követelmények, illetve a hitelesítési teszt is fejlődik.
-
The Witcher 3 REDkit - Megjelenési dátumot kapott a modszerkesztő
gp Nemsokára még egyszerűbb lesz extra tartalmakat gyártani a játékhoz.
-
Mobilarena
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
-
fordfairlane
veterán
válasz kemkriszt98 #4143 üzenetére
A képek elérési útja nem jól van megadva, mert mondjuk abszolut URL-ek vannak benne, a meghajtó betűjele, ami másik gépen már nem működik. Esetleg a képeket nem másoltad fel.
x gon' give it to ya
-
martonx
veterán
-
Jim-Y
veterán
válasz kemkriszt98 #4149 üzenetére
Hú-ha, hogy te ezért mit fogsz itt kapni Nem írunk így javascript kódot!
Itt van egy alap cucc kiindulásnak, hogy hogyan kellett volna inkább:
http://jsbin.com/tusunami/1/edit?html,js,outputNincs időm utánajárni, de biztos van jobb megoldás mint a képek url-jét cserélgetni.
-
Sk8erPeter
nagyúr
válasz kemkriszt98 #4151 üzenetére
A jsbin.com és a jsFiddle.net is úgy működik, hogy injektálja a kódot az éppen megjelenített oldalba, csak külön-külön paneleket biztosít, hogy szépen szétválasztva tudd szerkeszteni a különböző nyelvekhez (CSS, JavaScript, HTML) tartozó kódokat, pont úgy, ahogy "élesben" is illik, csak élesben annyival egészül ki a dolog, hogy ezekre a fájlokra a hivatkozásokat is beleszúrod az oldaladba.
Ez ekvivalens Jim-Y korábbi megoldásával: http://jsbin.com/tusunami/2/edit
és persze a <script> taget akár a </body> zárótag elé is lehetett volna rakni, ha úgy jobban esik.
(A kódot nincs időm átvariálni saját koncepcióra.)Sk8erPeter
-
Jim-Y
veterán
válasz kemkriszt98 #4156 üzenetére
Mert a script elemet nem lehet igy irni.
Ird igy <script src=""></script> -
Jim-Y
veterán
válasz kemkriszt98 #4159 üzenetére
changeImageSrc(largeImage, sourceUrl); hellyett
changeImageSrc(large, sourceUrl);
-
Sk8erPeter
nagyúr
válasz kemkriszt98 #4163 üzenetére
Lehet, hogy a %windir%\System32\drivers\etc\hosts (vagyis C:\Windows\System32\drivers\etc\hosts) fájlodban nincs megfeleltetés a localhostra:
127.0.0.1 localhost(bár tudtommal defaultból szokott lenni)
Sk8erPeter
-
Jim-Y
veterán
válasz kemkriszt98 #4182 üzenetére
Szia. En eleg nagy eselyt latok ra, hogy inkabb a feladatot kene mashogy megoldanod, mert szerintem rosszul kozelited meg a problemat.
A gombokra kulon listenert szokas aggatni, igy nem szokas az id-t igy lekerni. De ha megosztod a kodod tobbi reszet is, peldaul jsfiddle-on, akkor tobbet tudunk majd segiteni.
Egy gombra kattintas pszeudokodja valami ilyesmi kene hogy legyen:
myButton = leker DOM element id (vagy mas) alapjan
myButton addClickListener mitcsinaljon
mitcsinaljon() {}Arrol nem is beszelve, hogy == helyett === javasolt, mert elobbi bizonyos helyzetekben erdekes eredmenyekre tud vezetni. [link]
[ Szerkesztve ]
-
Jim-Y
veterán
válasz kemkriszt98 #4184 üzenetére
Tippre azert, mert vagy rossz az ev.target nem az amire gondolnal, vagy mert az ev.target-nek nincs id-je, vagy az nem 1.
-
Jim-Y
veterán
válasz kemkriszt98 #4186 üzenetére
Legyszi oszd meg a teljes kododat, mert elkepzelheto, hogy te a javascript kodot a body vegen adtad hozza, es az onClick nem letezik meg akkor, mikor rakotod az onclick esemenyre.
Masik hiba, hogy ha igy hivsz meg egy metodust, akkor nincs hidden event metodus, azt az addEventListener teszi hozza a hatterben.
Harmadik hiba, hogy nehezen modosithatova teszed a kodot azzal, hogy az esemenyt a html-ben definialod es nem a js-ben, ahogy azt kene, illetve ahogy erre mar kaptal peldakodot is tolem, es Sk8erPeter-tol is.
Peldaul csereld ki a kododban:
<img id="1" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
function onClick(id) {
console.log(id);
}Es egybol meglesz az id.. de ha ezt ugy csinalnad, ahogy kene (nem biztos, hogy ez lenne a legjobb modszer, de a jelenlegidnel jobb):
Gondolj bele, ez mar csak azert is jobb, mert ha onclick eseten tobbe mar nem az onClick()-et akarod futtatni, akkor nem kell annyi helyen belenyulni a html kodba, ahany keped van
<img id="1" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
<img id="2" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
<img id="3" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
<img id="N" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>Itt most N-szer kene atirni, mig az en verziomban egy helyen atirod a kodot, es kesz.
Nem veletlenul best-practise az, hogy HTML-be NEM irunk javascriptet, ha ez megoldato, es JS-be NEM irunk CSS-t ha ez megoldhato.
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
válasz kemkriszt98 #4184 üzenetére
Jim-Y már adott jótanácsokat, ezenfelül még annyi, hogy ilyen "csak-te-tudod-mi-az"-nevű elemeket ne használj, kerüld az ilyen nem túl beszédes "e", meg "o" id-ket, ahogy kerüld az "1", "2" nevű id-ket is, rossz, nem átlátható, más által nem megérthető a kód. A hosszú if-else-eket is érdemes kerülni, használj switch-case-t.
Tényleg rakj fel egy egyszerű példakódot, és akkor gyorsabb lesz a segítségnyújtás.
Sk8erPeter
-
fordfairlane
veterán
válasz kemkriszt98 #4186 üzenetére
Ha html attribútumban kezeled az eventet, ( onclick="onClick()" ) akkor a függvény nem kap Event objektumot.
<img id="1" class="small" alt="Small img" src="imgs/1.jpg">
<script>
function onClick(Event) {
...
}
document.getElementById("1").addEventListener("click", onClick);
</script>[ Szerkesztve ]
x gon' give it to ya
-
CSorBA
őstag
válasz kemkriszt98 #4246 üzenetére
1, Kell hozzá jquery (Bal oldalt be kell tölteni a Framework & Extensions résznél).
2, A this az this nem pedig "this" [link]. -
Jim-Y
veterán
válasz kemkriszt98 #4248 üzenetére
Szia. Én nem értek túlságosan a jQuery-hez, de még a tanulásod elején megemlíteném, hogy érdemes 1-2 good-practice-t betartani.
Az egyik ilyen, hogy kerüljük a this használatát. Amikor csak lehet használjunk mást. A példádban is lehetett volna mást használni, és ennek nem csak az az előnye, hogy olvashatóbb, és érthetőbb lesz a kód, vannak olyan helyzetek, amikor rossz működésre vezet a this használata.
Demo (rossz eset, amikor a példád hibázna, nem várt eredményre jutna):
http://jsfiddle.net/Jim_Y/tsucL8je/18/
Mi történt?
- két divet ágyaztunk egymásba. jQuery-vel egy eseménykezelőt állítunk a div-re, és azt várnánk, hogy amelyik kockára kattintunk, az majd 100px-el lejjebb kerül. Nem ez történik!
- ad1: propagation, a selector nem egy, hanem 2 elemet is "matchel", először azon fut le az eseménykezelő amire ténylegesen kattintottál, tehát a .inner, majd propagál és a .outer div-en is le fog futni az eseménykezelő.
- ad2: a this mindig az aktuálisan "propagált" elemre mutat. Tehát az első loop-ban a this a .inner, majd a következőben a this a .outerEmiatt mindkét div lejjebb fog kerülni, talán 100px-nél nem is olyan feltűnő, de egy kattintásra az a div amin eredetileg kattintottunk (.inner) összesen 200px-el csúszott lejjebb.
Megoldás vol1:
Cseréljük le a this-t, ahogy eredetileg is javasoltam event.target-re.
http://jsfiddle.net/Jim_Y/tsucL8je/19/
Mi történt?
- még mindig furcsán működik, még mindig nem azt tapasztaljuk amit szerettünk volna, most egy kattintásra a .inner kocka 2x100px-el lejjebb került.
Ez azért van, mert az event.target minden loopban ugyanaz, arra mutat amelyik elemre kattintottunk az egérrel. (megjegyzés: az event.currentTarget minden esetben === this)
Első ciklusban event.target -et eltoltuk 100px-el, majd jön a második ciklus (propagation ugyebár, vagy bubbling effect, ki hogy ismeri) ahol ugyancsak event-targetet toltuk el 100px-el.
Megoldás vol2:
http://jsfiddle.net/Jim_Y/tsucL8je/20/
Mi történt?
- itt már szinte az történik amire számítottunk, amire kattintunk az 100px-el lejjebb kerül és nincs propagation. Persze ha a .outer div-re kattintunk akkor az inner is lejjebb kerül, ez annak a következménye, hogy az inner az outeren belül van foglalva. Ezen nem tudunk segíteni, csak ha máshogy írjuk meg a html-t.
Összefoglalva:
* event.target statikus, mindig arra mutat amire ténylegesen kattintottunk (vagy általánosabban fogalmazva, amelyik node-on az esemény létrejött)
* this az változik, illetve sok esetben nem lehet megmondani, hogy most éppen mire is mutat a this, jobb ezt elkerülni.
* event propagation. Ezt is figyelembe kell venni bizonyos esetekben.Üdv
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
-
martonx
veterán
válasz kemkriszt98 #4266 üzenetére
Akkor tegyél be unity-t a web oldaladba. Az kimondottan pont erre való.
Én kérek elnézést!
-
Sk8erPeter
nagyúr
válasz kemkriszt98 #4266 üzenetére
"Nanananana..." Nem lehet, hogy egy kissé topicot tévesztettél?
Sk8erPeter
-
Karma
félisten
válasz kemkriszt98 #4266 üzenetére
Nananananananana Batman!
Csak a megfelelő kulcsszavakra kell keresned Google-ben, és láthatod, hogy elég népszerű a Blender és a Three.js library összekötése, amivel pont azt össze tudod hozni WebGL alapon, amit szeretnél. Például itt van egy tutorial.
“All nothings are not equal.”
-
Jim-Y
veterán
válasz kemkriszt98 #4277 üzenetére
Szerintem nem ártana működő példát feltenni Egyébként: jQuery.closest()
-
DS39
nagyúr
válasz kemkriszt98 #4279 üzenetére
nálam ez nem működik. (Firefox 24 ESR)
akkor se ha kiszedem a második "sávot".[ Szerkesztve ]
-
Jim-Y
veterán
válasz kemkriszt98 #4281 üzenetére
http://jsfiddle.net/jkx6jcvL/1/
Biztos lehet jobban is.
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen