-
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
-
fordfairlane
veterán
válasz
Tibcsi55555 #4939 üzenetére
-
fordfairlane
veterán
-
fordfairlane
veterán
válasz
Cathfaern #4916 üzenetére
A tömb, mint programozási fogalom egyáltalán nem passzol a javascript objektum fogalmába. Az objektum nem arra való, hogy egyforma elemek halmazát tárolja, éppen ezért van külön Array. Attól, mert PHP-ben elmosódik a határ, egyáltalán nem jelenti azt, hogy ez jó gyakorlat. Ilyenkor jönnek elő az olyan problémák, hogy pl. valaki javascriptben for ... in-nel akar végigjárni a tömböt, ami problémákat okozhat.
-
fordfairlane
veterán
válasz
Cathfaern #4914 üzenetére
Oké, igazából nem array (tömb), hanem object, de igazából egy kezdő számára hasonló fogalom a kettő. Illetve ha mondjuk php-s háttérrel jött, akkor meg főleg nem érzi a különbséget.
Mondjuk ezt nem tartom igazán jó dolognak, elvégre két különböző fogalomról van szó. Nem mindegy, hogy adatok halmazáról vagy adatkompozícióról van szó.
-
fordfairlane
veterán
válasz
Sk8erPeter #4854 üzenetére
Azon húztam fel magam, hogy kábé ötmillió ilyen vicces programozót láttam már, aki az implicit type konversion-on pojénkodott. Tipikusan valami erősen típusos nyelvet tanult meg először, és ez olyan meghatározó élmény volt az életében, hogy mást már elképzelni sem tud. Egyébként is idegesítő a sok félhülye degenerált, amelyik, mint az látszik, gépelni sem igen tud.
Crockfordtól elfogadom a Javascript kritikákat, egy ilyen porbafingó kis senkiházitól nem.
"ja, most nézem, valszeg a * helyett = jelet akart írni..."
Hát igen, kábé ez az a szint, amikor nem fogadom el, hogy őkelmének nem tetszik a Javascript.
-
fordfairlane
veterán
válasz
Speeedfire #4580 üzenetére
Általában ami chrome alatt fut az fut FF alatt is.
Egyre inkább nem.
De se nekem, se munkatársamnak nincs ie-je (mac, linux).
Virtuális gépek?
-
fordfairlane
veterán
válasz
Speeedfire #4561 üzenetére
Nem szabványos a dátum formátuma. Próbáld YYYY-MM-DD formában.
-
fordfairlane
veterán
válasz
Speeedfire #4526 üzenetére
A 'valami' az nem egy css szelektor akar lenni?
-
fordfairlane
veterán
válasz
Speeedfire #4521 üzenetére
Breakpointra lesz szükséged, de a minified jquery-vel nehéz lesz megtalálni.
-
fordfairlane
veterán
válasz
Speeedfire #4519 üzenetére
Erre gondolsz?
-
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> -
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.
-
fordfairlane
veterán
válasz
trisztan94 #4137 üzenetére
A win kliens az újdonság. Eddig leginkább csak OS X alá volt.
-
fordfairlane
veterán
válasz
trisztan94 #4047 üzenetére
Most vágom az egyik tutorial vidim, ott viszont egy <a>-ra e.defaultPrevented-et használtam, és valamiért pontosan ugyanaz történik, mintha e.preventDefault() lenne használva, tehát nem fut le az alapértelmezett esemény.
Nálam Firefoxban lefut, tehát nem ugyanaz történik. Nem is történhet ugyanaz.
-
fordfairlane
veterán
válasz
trisztan94 #3955 üzenetére
Tehát annyi a kérdés, hogy miért van a promises tömbben 2x annyi elem, mint a waypoints tömbben?
Globális változók. A jóég tudja ennyiből megállapítani. "use strict"
-
fordfairlane
veterán
válasz
Sk8erPeter #3923 üzenetére
Mit tekintünk ez esetben "tisztességes implementációnak"?
Például egy angularjs-t, ahol egyedi attribútumokkal kötöd össze a megfelelő html kódot a script modell vagy a controller objektumaival.
-
fordfairlane
veterán
válasz
martonx #3925 üzenetére
Mégegyszer: Nem az onevent attribútumot védem jelen implementációs formájában, hanem azt, hogy van logikája az attribútum-event kötésnek. Az event binding összekötő elem, nem tisztán struktúra vagy viselkedés téma. Mint ahogy a data-binding sem az, amikor két nyelv közti adatcserét deklarálsz, lásd angular vagy knockout.js.
-
fordfairlane
veterán
válasz
Sk8erPeter #3921 üzenetére
Ezzel nyugodtan alá lehetne támasztani azt is, hogy formvalidálásnál minden egyes inputra külön-külön dobjuk be mondjuk onblurre a validáló függvényt. Vagy akkor ez ne legyen, csak egyszer, magán a form csomóponton legyen egy onsubmit-attribútumba bedobott függvénynév, mert az épp a határon mozgolódik a tákolmány és a karbantartható kód között? Érted, ezzel a hozzáállással (mondjuk ha valaki ilyen tutorialt ír) a kezdők is kedvet kaphatnak hozzá, hogy na, akkor ilyen alapon mehet minden az attribútumokba, mert azt írták, hogy jó az, és akkor ránézek a HTML-kódra, és tök jó, hogy egyben látom a JavaScript-kódot is. De akkor ugyanígy nem lenne helytelen az sem, hogy valaki style-attribútumban határozza meg az adott elem kinézetét. Az sem magyarázható, bár elméletileg ezen az elven az is jó lehetne, mivel akkor tök jó, hogy helyben látja az illető, hogy fog kinézni az elem.
Nem azt írtam, hogy az elemek onevent attribútumainak használata jó, csak annyit, hogy van benne logika, és tisztességes implementációnál azt attribútum-eventbinddal nincs semmi gond. Az, hogy te mit tartasz jónak, meg logikusnak, meg karbantarthatónak, az ezen a véleményemen nem fog változtatni.
-
fordfairlane
veterán
vajon miért nem kopik ki a köztudatból
Mert egyszerű, és mert szemantikailag nem olyan rossz az (félig jó
). Látod magánál az elemnél, ha van hozzá kötve eseménykezelő.
Az már kevésbé jó, hogy az on(event) attribútumba nem egyszerűen metódusnevet írsz, amit a javascript hozzáköthet az adott elemhez, hanem gyakorlatilag komplett scriptet rakhatsz bele inline.
-
fordfairlane
veterán
válasz
Sk8erPeter #3901 üzenetére
Így van, ez továbbra is értelmezési probléma, nem szoftverfejlesztési. Amíg nem tudja leírni érthetően, mit szeretne, addig nincs értelme implementációs részletekkel foglalkozni. Ő is vaskosan keveri a két dolgot, volt itt "script", meg gif, meg jpg izé, épp csak a lényeget nem tudjuk. Azaz, hogy mit lásson a felhasználó az adott oldalon, és milyen interakciókat végezhessen el.
-
fordfairlane
veterán
válasz
don.racz #3851 üzenetére
CSS transition + CSS animation.
A slide scriptek, amikkel mostanság találkoztam, jellemzően így oldották meg a sima animációt. Akkor váltottak vissza scriptes animációra, ha a css változat nem volt támogatva az adott böngészőben.
A jquery animáció azért akadozik, mert belül ugyanígy működik, mint az ilyen setTimeoutos scriptek.
-
fordfairlane
veterán
válasz
Teasüti #3656 üzenetére
Ha megvan az eredmény JSON formátumban, egyszerűen belerakod egy változóba, majd a megfelelő propertyket lekérdezed.
var v = http.responseText;
for(i = 0; i < v.results.length;i ++) {
alert(v.results[i].formatted_address);
}alert helyett persze használj valami más debug kiíratást.
-
fordfairlane
veterán
Nekem ez működik jól Firefoxban és Chromeban. Nem hibás a html markupod, vagy nem lehet az, hogy a script előbb fut le, mint kéne?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript">
function valami() {
var btns = document.getElementsByTagName("button");
console.log(btns[0]);
}
window.onload = valami;
</script>
</head>
<body>
<button id="egy">gomb egy</button>
</body>
</html> -
fordfairlane
veterán
válasz
Sk8erPeter #3582 üzenetére
Tényleg ez volt a mondanivalója? "izéke" + 1 = "izéke1", de "izéke" - 1 = NaN? Hát menten berosálok, hogy micsoda krézi típuskonverzók vannak ebben a gyávaszrkitben! Nahát!
De most te végre megint jól odamondtál a szkriptkiddiknek! Helyére tetted őket! Ma is tanultak valamit az itteni fórumszakértők, méghozzá szuperkúlos - poénos módon.
És nem vettem magadra, ne kamuzz! Épp te vetted magadra. Látszik a hülye szövegeden, amit idekanyarítottál. Vagy ez csak a szokásos grafomán nemmagadravevéses ömlengésed? Jó tudni!
-
fordfairlane
veterán
válasz
Sk8erPeter #3578 üzenetére
Megnézem, vicceske, meg minden, de mondanivalója zéró. Automatikus típuskonverzió, right from the beginning, mint szinte minden más scriptnyelvnél. Tudom, hogy az ún. komoly programozokóknak ez vörös posztó, de hát ez legyen az ő bajuk.
-
fordfairlane
veterán
A HTML írja le a az oldal struktúráját, a CSS az oldal elemeinek megjelenését, a Javascript a viselkedést (amit aztán most már részben a CSS kezd átvenni). Ez a három rész három különböző aspektusa annak a valaminek, amit a felhasználó lát. Ezért is van rá háromféle jelölőnyelv, kettő deklaratív, egy pedig imperatív jellegű. És ezért érdemes három, egymástól elkülönülő részbe szervezni, és jól definiált interfészen keresztül kötni össze őket.
Az ilyen "separation of concerns" megközelítések akkor számítanak, ha a szoftver bonyolultsága meghalad egy szintet. Viszont sok szoftver indul egyszerűnek és aztán menet közben komplikálódik el, így ha valakinek ez nem jelent külön erőfeszítést, érdemes ezeket az elveket követni minden oldalnál a kezdetektől fogva.
-
fordfairlane
veterán
Én is belefutottam hasonlóba, ott egy táblázat fejlécében kellett volna 90-kal elforgatni a hosszú header szövegeket. Olyan sok cross-browser jellegű probléma lépett fel, hogy végül inkább szerveroldalon generáltam képekbe a szövegeket, PHP-ben, a GD könyvtárat használva.
-
fordfairlane
veterán
A node.js egy kiszolgálóoldali futtatókörnyezet. Ha jól tudom arra a motorra épül, amire a Google Chromeja is, de a kliensoldalhoz nincs köze. Javascript nyelven programozhatsz benne, de attól még a szerver hajtja végre, így a szerveren található erőforrásokat éred el a scriptedből.
-
fordfairlane
veterán
Az ID-k jó lenne, ha szabványosak lennének, azaz betűvel kezdődnének. Böngészője válogatja, melyik mennyire érzékeny erre.
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
-
fordfairlane
veterán
válasz
[pod]Diablo #2646 üzenetére
Egy olyan kerdesem lenne hogy hogy tudnam megvaltoztatni a bongeszo url-jet az oldal ujratoltese nelkul?
Tudomásom szerint csak az url fragment részét tudod megváltoztatni anélkül, hogy a böngésző újratöltse az oldalt.
Erről a részről van szó:
domain.com/action?param=value#resource
-
fordfairlane
veterán
Így nem jó, mert href-be nem rakhatsz csak úgy javascript kódot, abba url-t kell tenni. Tegyél elé egy javascript: -tagot (javascript:loadXML...) , vagy inkább használd az onclick -et, ahogy az előző példában van.
Most jövök rá, mi lehet a gond. Az ajax lekérés akkor fog működni, ha webkiszolgálón keresztül megy. Helyi fájlrendszerből, webszerver nélkül nem.
-
fordfairlane
veterán
A script működik, elküldi a requestet. Kérdés, hogy a gallery.html a megfelelő helyen van-e, mert a response feldolgozásánál csak akkor kerül bármi is kiírásra, ha 200-as kód jön vissza, azaz a webszerver megtalálta a gallery.html-t.
(xmlhttp.readyState==4 && xmlhttp.status==200)
Kivettem a xmlhttp.status==200 ellenőrzést, és nekem szépen kiírta a 404-es hibaüzenetet a megfelelő id-jű elembe.
-
fordfairlane
veterán
Hát attól függ, hogy egyetlen cellát akarsz anchorosítani, vagy egy egész táblázatsort.
Ha csak egy cellát, akkor a legegyszerűbb módja jelen esetben az, ha az anchor (<a>) elemet blokkelemnek definiálod style beállítással. Ezután egyből 100% széles lesz, ami az adott cella szélessége, magasságot meg esetleg be lehet külön állítani, ha szükség van rá.
Valahogy úgy, hogy:
<style type="text/css">
td a {
display: block;
}
</style>Ha egy egész sorból, ami több cellából áll, akarsz linket csinálni, ahhoz scriptezni kell, de végül is az sem bonyolult.
<script type="text/javascript">
function insRow() {
var x=document.getElementById('menu').insertRow(0);
var y=x.insertCell(0);
y.innerHTML="<a href='http://www.facebook.com'>xxx</a>";
x.onmouseover = function () {this.style.backgroundColor='#FFD700';}
x.onmouseout = function () {this.style.backgroundColor='#839CBF';}
x.onclick = function () {window.location="http://www.facebook.com";}
}
</script>Ez működik, viszont az a baja, hogy az egérkurzor nem vált át a táblacella fölött, ezért ezt még hozzá kell csapni:
<style type="text/css">
td {
cursor: hand;
}
</style> -
fordfairlane
veterán
<script type="text/javascript">
function insRow() {
var x=document.getElementById('menu').insertRow(0);
var y=x.insertCell(0);
y.innerHTML="<a href='http://www.facebook.com'>xxx</br>";
x.onmouseover = function () {this.style.backgroundColor='#FFD700';}
x.onmouseout = function () {this.style.backgroundColor='#839CBF';}
}
</script> -
fordfairlane
veterán
válasz
Sk8erPeter #1465 üzenetére
<form method="get"
onsubmit="for(i=0;i<this.elements.length;i++) with(this.elements[i]) if(type == 'text' && value == defaultValue) value=''">
<input type="text" value="Search..."
onfocus="if(this.value == this.defaultValue) this.value = ''"
onblur="if(this.value == '') this.value = this.defaultValue" />
<br>
<input type="submit" />
</form>Persze lehet külön függvénybe is rakni a kódrészleteket, de ez még kb. az a mennyiség, ami szerintem nem teszi teljesen átláthatatlanná a kódot, így maradhat a html tag event handlerében.
-
fordfairlane
veterán
válasz
Sk8erPeter #1463 üzenetére
Meg lehet oldani, de ez megbonyolítja a scriptet. Ezt a javascriptes törlő módszert tipikusan akkor szokás használni, ha egy-két form mező van csak, és helyszűke van az oldalon. Méretes kérdőívnél sokkal egyszerűbb a mező mellé - fölé kiírni a címkét.
-
fordfairlane
veterán
válasz
Sk8erPeter #1457 üzenetére
<input type="text" value="Search..."
onfocus="if(this.value == this.defaultValue) this.value = ''"
onblur="if(this.value == '') this.value = this.defaultValue" /> -
fordfairlane
veterán
válasz
animatrix11 #1452 üzenetére
<param name="uiMode" value="mini" />
helyett
<param name="uiMode" value="full" />
az is jó ha tudtok más lejátszót esetleg ami használhatóbb
Ha át tudod konvertálni a videót flv formátumba, akkor érdemes inkább úgy, mert akkor nem kell hozzá telepített médiaplayer a kliensgépre, csak flash.
-
fordfairlane
veterán
válasz
Sk8erPeter #1447 üzenetére
Nekem is kicsit kaotikusnak tűnt a viselkedése, de aztán elolvastam alaposabban a leírást, és már értem, miért csinálta ezt a dolgot. Az obj.style olvasásakor az inline vagy scriptből beállított stílusdefiníciókat adja vissza. Ha css class-t használtál, akkor hiába volt beállítva az adott elemnek a "display:none", a script az obj.style.display tulajdonságot üresnek látta (tehát sem nem "none", sem nem "block"). Emiatt a feltétel elsőnek sosem teljesül, és az else ág hajtódik végre. Miután azonban a script beállította a "none"-t, minden működött megfelelően.
-
fordfairlane
veterán
válasz
Sk8erPeter #1444 üzenetére
Egyelőre úgy tűnik, nincs más megoldás, csak ha inline style-ba rakod a display property-t. Tehát: <div style="display:none" id="..." class="...">
vagy a scriptet kell átvariálni, de ez csak akkor lesz jó, ha alapból a blokkok rejtve vannak, fordított esetben megint előjön a hiba
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Untitled</title>
<style type="text/css">
.r {
display:none;
/* egyeb stilusbeallitasok */
}
</style>
<script type="text/javascript">
function xshowhide() {
var ez = document.getElementById("ez");
if(ez.style.display == "block") ez.style.display = "none";
else ez.style.display = "block";
}
</script>
</head>
<body>
<input type="button" onclick="xshowhide()" value="click" />
<div class="r" id="ez">...</div>
</body>
</html> -
fordfairlane
veterán
válasz
Sk8erPeter #1434 üzenetére
Ha alapból rejteni akarod, akkor azt a legegyszerűbb az elrejtendő blokk html tagjánál megadni.
<div style="display:none" id="...">
vagy ha sok ilyen blokk van, akkor egy css class selectort létrehozni erre.
<style type="text/css">
.r {
display:none;
/* egyeb stilusbeallitasok */
}
</style>
...
<div class="r" id="...">...</div> -
fordfairlane
veterán
válasz
Sk8erPeter #1432 üzenetére
Ilyenre gondoltál?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
function xshowhide() {
var ez = document.getElementById("ez");
if(ez.style.display == "none") ez.style.display = "block";
else ez.style.display = "none";
}
</script>
</head>
<body>
<div id="ez">EZ</div>
<input type="button" onclick="xshowhide()" value="click" />
</body>
</html>
Új hozzászólás Aktív témák
Hirdetés
- Karaktere biztos lesz az első Nothing fejhallgatónak
- Kerékpárosok, bringások ide!
- Sony MILC fényképezőgépcsalád
- PlayStation 5
- Milyen videókártyát?
- Medence topik
- WoW avagy World of Warcraft -=MMORPG=-
- Linux kezdőknek
- Interactive Brokers társalgó
- Sütés, főzés és konyhai praktikák
- További aktív témák...
- BESZÁMÍTÁS! Asus B350 R5 1600 16GB DDR4 512GB SSD GTX 1050Ti 4GB Cooler Master CM 690 III TT 500W
- Azonnali A320 B350 X370 B450 X470 A520 B550 X570 chipset alaplap felvásárlás személyes/csomagküldés
- Csere-beszámítás! Számítógép PC Játékra! I3 14100F / RTX 3060 12GB / 32GB DDR4 / 500GB SSD
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RTX 4060 8GB GAMER PC termékbeszámítással
- LG 55G4 - 55" OLED evo - 4K 144Hz & 0.1ms - MLA Plus - 3000 Nits - NVIDIA G-Sync - FreeSync Premium
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest