- Android Auto és Carplay utólag? A Carpodgo Mini kicsi és olcsóbb, mint a nagyok
- Apple Watch
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Hivatalos a OnePlus Watch 4
- Bemutatkozott az Oppo kamerás csúcsmodellje
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Bemutatkozott a Poco X7 és X7 Pro
- Mobil flották
- One mobilszolgáltatások
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-02-25 10:20 Téma összefoglaló
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
-
Nefri
csendes tag
Továbbra sem egyértelmű az adatszerkezet. Az eredeti hozzászólásban egy listát írtál, két oszloppal, a kód viszont két külön listát updatel. Méghozzá where feltételekkel updatel, nem ID-val, ami azt eredményezi, hogy függetlenül attól, hány elem (rekord) van az adott listán, egy lépésben az összes olyan listaelemet frissíteni fogja a megadott listán, amelyekre teljesül a where feltétel.
Igazad van félre néztem. Viszont azt a hibát csak akkor írtam bele, amikor próbáltam átjavítani a neveket a postoláshoz, hogy könnyebben emészthetőek legyenek, bocsi. Tehát az összes lista hivatkozás a "TargetList"-re vonatkozik. Tudom esetleg szerkeszteni vhogy a régebbi postomat?
A where-el kapcsolatban pedig nem probléma, ha az összes mezőt frissíti mivel csak 1-van minden oszlopban. Lehet, hogy igazából el is lehetne hagyni, csak nem tudom, hogy akkor alapértelmezett ként az összes mezőt átírná-e vagy sem azt még tesztelnem kell.
Illetve azóta már kicsit beleástam magam a témába és úgy tűnik, hogy a jquery alapból asszinkron hajtódik végre. Így nem igazán várják meg egymást az utasítások, amik sorban következnének. Valószínűleg ebből származhat a probléma, bár jelen esetben valójában mind1, hogy melyik update hajtódik végre hamarabb a kódban, azért továbbra sem világos, hogy végül miért csak az 1-ik mező értékét frissíti.
-
Nefri
csendes tag
Nem értek a Sharepointhoz, de itt valami nagyon nem stimmel.
Ha jól látom, van egy lekérdezés Targetlistről, és két külön update. Egyik a TargetListre, egy meg valami másikra. Minek van a lekérdezés, meg az "if" feltételvizsgálat, ha az update statementek "where" feltételében ott van, hogy mik azok a rekordok, amiket módosítani kell? A lekérdezés eredménye sehol nincs felhasználva az updateknél.
Szia!
Ez a kód egy részletete egy ID generálásnak. Az ID pedig úgy néz ki, hogy: (felhasználók által létrehozott elemek száma + "./" + aktuális évszám).
Azért van a feltétel vizsgálat mert csak akkor kell a rekordokat frissíteni ha a rekordokban szereplő évszám és az aktuális évszám nem egyezik (nem is kell az updateben felhasználni csak az update szükségességének megállapításához kell), mivel ebben az esetben frissíteni kell az aktuális évszámot, illetve le kell vinnem a létrehozott elemek számát 1-re. (Az egész esemény akkor hajtódik végre ha a user a Save gombra kattint).
Tehát azért van 2* a "Targetlist" mert az elsőnél csak beolvassa és a 2.nál pedig frissíti is ha szükséges. És igen a where feltételek jelzik, hogy az oszlopok mely mezőit kell frissíteni, jelen esetben mivel csak 1 mezőből állnak ezt az 1 mezőt targetelik ki a where-k. Sharepointpluszban csak where-el lehet targetelni elemeket egy oszlopban vagy pedig ID-val.
Amennyiben nincsen új év simán csak a elemek számát updateli +1-el, de mivel nem ezzel van a probléma, hanem azzal, hogy amikor 2 updatelést kéne végezni egymást követően, csak az egyiket végzi el, nem akartam ezzel is bonyolítani a megértést.
-
Zedz
addikt
Az OO remek találmány, de a Javascript (ES6, typescriptről nem tudok nyilatkozni) classokkal sok probléma van.
1. Maga az osztály teljesen felesleges, ha csak egyetlen példányt kell belőle gyártani. Csak egy újabb felesleges absztrakció.
2. Ha több példányt kell csinálni, akkor sincs rá szükség, ha nem használod a típusellenőrzést (Ha típuskonvertálást használsz, az meg valószínűleg tervezési hiba), Javascript alatt simán factory functionnel tudsz objektumokat sorozatgyártani.
3. Javascript alatt a new operátor (illetve az elhagyása) problémás a dinamikus this binding miatt.
4. Javascript alatt a class csupán syntactic sugar, ugyanaz a behavior-delegation van a háttérben, mint class nélkül, construktor functionnel a protottype-ra ráhúzott metódusoknál. Persze a class összeszedettebb szintaxis, de ugyanúgy működik (pl. menet közben átdefiniálhatsz metódusokat).
5. Az öröklés, mint OO kódújrafelhasználás súlyosan problémás módszer, különösen akkor, ha felülbírálsz metódusokat, és nem a SOLID elveknek megfelelően.Hirtelen ennyi jut eszembe.
Ezzel teljesen egyetértek. Valahol nagyon hasznos az OO, de túl van használva.
-
PumpkinSeed
addikt
Le a classokkal! Osztályharcot hirdetek az osztályok ellen!
En mint eddig csak React-et ES6-al hasznalo ember nem ertem miert irod ezt? Szamomra sokkal atlathatobb az egesz. Legtobbszor mikor ES5-t kellett hasznalni inkabb hagytam az egeszet. Nyilvan jobban tudod miert mint en, mint mondottam nem vagyok topon ezen a teren. De szeretnem megtudni miert mondod ezt.
-
tboy93
nagyúr
Javascriptben a függvény vagy metódusparaméterek mindig opcionálisak. ES6-tól a függvény paramétereinek lehet default értéket adni, ES6 alatt pedig lehet használni az arguments objektumot.
Köszönöm. Az arguments-el sikerült megoldani.
-
DNReNTi
őstag
Látszik, rég nem typescripeztem. Ha "elrontod" az importot, hibát dob?
Jaja, alapbol az IDE is visit, de a compiler is leterdel "Module not found" hibaval.
-
DNReNTi
őstag
Irja is a valaszolo, hogy TS 1.8 ota mar sima import statement van, nekem TS 2.1 van behuzva, de annyira kilatastalan mar a dolog, hogy megprobalom. De szerintem ha az import nem menne, eleve le se fordulna. Gondolom.
-
Mr Dini
addikt
var titles = [];
json.collection.forEach(function(item) {
titles.push(item.track.title);
});
console.log(titles);Gyors válasz és tökéletes megoldás! Nagyon hálás vagyok!
Hmmm, forEach, hogy ez nekem miért nem jut sosem eszembe...

-
Lacc
aktív tag
Chrome alatt működik, Firefox alatt nem.
A második nekem is. De az első nem, hiába az element-nek a documentet adtam meg.
Viszont van egy addeventlistenerem egy másik js fájlba, az nem érzékeli ezt a touchcancel-t csak azt amelyiket a browser indít el automatikusan.Ennél ti mit adtatok meg az element-nek?
var event; // The custom event that will be created
if (document.createEvent) {
event = document.createEvent("HTMLEvents");
event.initEvent("dataavailable", true, true);
} else {
event = document.createEventObject();
event.eventType = "dataavailable";
}
event.eventName = "dataavailable";
if (document.createEvent) {
element.dispatchEvent(event);
} else {
element.fireEvent("on" + event.eventType, event);
}Nekem erre nyomja a hibát, hogy az element nincs deklarálva, én a következőt adtam meg:
element = document.getElementsByTagName('body');
De erre meg azt írja, hogy a dispatchEvent nem egy függvény. -
Aureal
őstag
A window object tartalmazza az összes globális változót, ha erre gondolsz.
Nem teljesen. Pl. itt egy másik ahol egy képet leíró attribútumok name és value tulajdonságait kérdezik le. Nekem hasonló kellene, csak a <script> kódon belül a var változók azonosítóinak lekérésére...
-
Aureal
őstag
Más: egy változó identifierjét hogyan kérdezhetjük le?
(pl. szükségem volna a var kategória = ... kódból a "kategória" stringre.)Inkább azt írd le, hogy mit szeretnél megvalósítani. Gondolom nem egy Javascript interpretert.
Csak annyi, hogy látok pl. "nodeName" stb. lekérdezésre is példát a tutor oldalakon és gondoltam, akkor mindent vissza lehet kérdezni a kódból...
-
Aureal
őstag
Ez a tutorial egyszerűen szörnyű. A JSON nem objektum, hanem egy nyelvfüggetlen szövegalapú adatcsere-formátum, ami a javascript object-literal szintaxis szűkített változata. Amit te keresel az az ún. object literal, és az array-literal.
Object literal:
var a = {
key1: value,
key2: value,
key3: value
};value bármi lehet, amit változóba lehet tenni, másik objektum, tömb vagy függvény is.
Array literal:
var arr = [value1, value2, value3, value4];Az értékek itt is lehetnek akármik, amik egy értékadás jobboldalán szerepelhetnek, tehát akár objektumok vagy függvények is. Tömbnél a kulcsok numerikus növekvő értékek lesznek.
Javascriptben az objektumok egyszerű konténerek, amik névvel azonosítható propertyket tartalmaznak. A property értéke lehet akár tömb is. A tömbök is hasonlóképp tartalmazhatnak bármilyen elemet, így objektumokat és tömböket kvázi tetszőlegesen ágyazhatsz egymásba.
Ha a kettőt kombinálod:
var a = [
{
key1: [
{
key1: value
},
{
key1: function() {}
}
],
key2: [1, 2, 3]
},
{
key1: ["string1", "string2"],
}
];Köszi! Kezd alakulni...
Közben csak kiszenvedtem amit eredetileg akartam, egy leegyszerűsített mankó példán.
Lehet hogy szakszerűtlen profi szemmel, de én csak amatőrködöm saját szakállamra.
Más: egy változó identifierjét hogyan kérdezhetjük le?
(pl. szükségem volna avar kategória = ...kódból a "kategória" stringre.) -
Zedz
addikt
Javascriptben auth.userProfile['username'] és auth.userProfile.username ugyanazt jelenti, csereszabatos.
Igen ez megvan, csak amíg egy leírásban úgy kérik el az értéket ahogy nálam a templateben, addig az a módszer itt nem működik.

-
Con Troll
senior tag
Talán így műkszik:
javascript:(function(){document.getElementById("summaryForm").submit();})()Nagyon szépen köszönöm, működik!

-
Mr Dini
addikt
A http csomag szerintem ebben a formában sohasem fog működni, úgy nézem, egyáltalán nincs szinkron üzemmódja. Vagy használj más csomagot, pl. az említett http-syncet, vagy ne így dolgozd fel a kapott kódot, hanem egy calbackben, vagy promise resolveban.
Próbáltam már azt is, de nem megy fel rendesen:
g
yp info spawn args '-Goutput_dir=.' ]
gyp: binding.gyp not found (cwd: /home/Pisti/Asztal/testing) while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/local/node-v4.6.1-linux-x64/lib/node_modules/node-gyp/lib/configure.js:305:16)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 4.4.0-45-generic
gyp ERR! command "/usr/local/node-v4.6.1-linux-x64/bin/node" "/usr/local/node-v4.6.1-linux-x64/bin/node-gyp" "rebuild"
gyp ERR! cwd /home/Pisti/Asztal/testing
gyp ERR! node -v v4.6.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not okÉs meghal a telepítés...
-
PumpkinSeed
addikt
function addSchool() {}ugyanaz, mint
var addSchool = function() {}A function-on belül első hívásnál az első sor a függvény referenciáját felülírja, így másodjára már nem tudod meghívni.
Ez igen, erre se jöttem volna rá, köszi érte.
-
fordfairlane
veterán
Mert ugyanolyan nevű globális változót használsz a függvényen belül objektumreferencia tárolásra, mint ami a függvényed neve.
function addSchool() {}ugyanaz, mint
var addSchool = function() {}A function-on belül első hívásnál az első sor a függvény referenciáját felülírja, így másodjára már nem tudod meghívni.
-
hcl
titán
Pontosan. A success attribútumra be kell lőni egy függvényt, ami a kapott válasszal csinál is valamit. Egyébként a jquery load metódusa ebből a szempontból egyszerűbb.
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="utf-8">
</head>
<body>
<div id="target"></div>
<script src="//code.jquery.com/jquery-3.1.0.min.js"></script>
<script>
$("#target").load("localhost/test2.php");
</script>
</body>
</html>Köszi, hamarosan kipróbálom

-
Mr Dini
addikt
A kódodban az XmlHttpRequest objektum open metódusában a harmadik paraméter true. Ez azt eredményezi, hogy aszinkron módban akarod használni. Ilyenkor az utána következő send metódus azonnal visszatér, nem várja meg a szerver válaszát. Vagy használd szinkron üzemmódban, vagy úgy használd, ahogy az én példakódomban.
1. new-val példányosítasz
2. onreadystate-re beállítod, hogy a response-nál mi történjen.
3. open(method, url, async)
4. setRequestHeader, amennyiben szükséges
5. sendÉs ha már functiont használsz, inkább a visszatérésben szerepeljen a responsedata, ne globális változóba tedd.
Sajnos nem segített, ugyanezt, a Cross origin policy-t dobja...
Szerintem a böngésző tiltja le a külső oldalakhoz való hozzáférést... Ezt szeretném valahogy (akár php segítségével) kikerülni. -
Mr Dini
addikt
Nodejs-n nincs console.log?
Van, de a prompt helyett nem jó a log...
-
Mr Dini
addikt
Gyorsabb? Mondjuk ha nem tennéd bele az url-be a https-t, és nem cserélgetnéd. Csak miután kiolvasod a megfelelő értéket a tömbből, akkor fűznéd az image url elejére a megfelelő protokollt.
Ezeket egy fájl parsolásából nyerem ki. De igaz, már az egész fájlban leet replacelni!

-
Jim-Y
veterán
Ezek egyike sem kezdő téma, totál haszontalan számukra. Komolyan, megkérdezi, hogy mit kell tudnia a DOM-ról, és azt kapja, hogy "callback hell", meg "IIFE" ? Véges halmazok meg gráfelmélet az már smafu?
Én úgy vagyok ezzel, hogy van aki csak az adott problémát akarja megoldani, hogy hogy lehet a "Lemon" piros az oldalon, meg van aki jó szakember szeretne lenni, én az utolsót céloztam meg, és úgy írtam neki a linkeket.
-
topjoyy
tag
Ezek egyike sem kezdő téma, totál haszontalan számukra. Komolyan, megkérdezi, hogy mit kell tudnia a DOM-ról, és azt kapja, hogy "callback hell", meg "IIFE" ? Véges halmazok meg gráfelmélet az már smafu?
Egyébként a w3school-sal mi a baj? A világ legnagyobb webfejlesztő oldala.

-
Jim-Y
veterán
Persze, meg doktoráljon le formális nyelvekből, mielőtt megírná az első 10 sort meghaladó programját.
Jön egy kezdő tanácsot kérni, és beterítitek annyi anyaggal, amit nyugdíjaskoráig sem tanul meg. És még komolyan is gondoljátok, hogy ez a helyes módja megtanulni programozni.
Ja értem, szoval akkor ne vegyük komolyan a "jelentkezőt"/kérdezőt? Én csakis úgy segítettem neki mint amennyire én is örülnék neki ha valaki nekem segítene fordított esetben. Most érted, a legjobb tudomásunk szerint segítünk neki, ellátjuk hasznos anyagokkal, akár még többel is mint amire szüksége van, de felnőtt ember, el tudja dönteni, hogy a sok forrás közül neki mire van szüksége, mire van ideje stb. Inkább legyen miből választania, minthogy olyan választ kapjon, hogy ---> http://lmgtfy.com/?q=google
-
Sk8erPeter
nagyúr
Fake?
Ez sztem elég egyértelmű.

-
DNReNTi
őstag
Fake?
Persze, de minden viccnek van alapja.

-
Zedz
addikt
Mitől kényelmesebb az arrow szintaxis? Egy nyelvidegen katyvasz a hagyományos javascript szintaxissal összevetve.
A kérdésre még mindig nem tudsz válaszolni.

-
Karma
félisten
A generátorokat nagyjából értem vagy érteni vélem, hogy mire jók, de én spec egyik munkám során sem éreztem a hiányukat.
Nem hiszem, hogy ez lenne a feleslegesség mércéje.
(#6055): A this megőrzése például egy elég fontos különbség. A régi JS-hez képest lehet "nyelvidegen", de rengeteg más nyelvben több éve van hasonló konstrukció.
-
Zedz
addikt
Mire jó alternatív szintaxist bevezetni függvény létrehozására? Mire jó bevezetni alternatív szintaxist prototípus objektum létrehozására?
Minek fejlesztik egyáltalán a nyelvet?

Nem tudom más hogy van vele, de nekem kényelmesebb mindkét megoldás a mostani helyett, gyorsabban tudok haladni vele, és átláthatóbb a kód. Hangsúlyozom, hogy mindez egyéni meglátás, és ha még rajtam kívűl így gondolják páran, akkor már megérhette megcsinálni.
Nyilván vannak hibái a nyelvnek, nem tökéletes, de ez kicsit a "kákán a csomót" effekt. De nem válaszoltál, hogy milyen fejlesztéseket várnál? Az egyszerűbb XHR kezelést már említettük.

-
Karma
félisten
Mire jó alternatív szintaxist bevezetni függvény létrehozására? Mire jó bevezetni alternatív szintaxist prototípus objektum létrehozására?
Ez még érvényes kritika is lehet (bár szerintem az arrow hasznosabb a kettőből, hogy a nyelv közeledjen a nagyokhoz); de mi köze a generátoroknak mindehhez? Az azért messze túlmutat az egyszerű szintatikai csinosításon.
-
Zedz
addikt
Arrow function, generators, class.
Arrow functionnel mi a baj?

Class egy sima syntax sugar... milyen fejlesztéseket vártál volna?
-
Zedz
addikt
Bár mire az ES2015 teljes implementálása is megtörténik a mostani böngészőkbe, mi már lehet nyugdíjasok leszünk.
Pláne ha ennyi mindent raknak bele egyszerre, aminek a fele igazából fölösleges.
Mire gondolsz, ami felesleges?
-
DNReNTi
őstag
Mintha számítana bármit is a jquery nemhasználata. Tipikus premature optimization.
De minek huzzam be ha felesleges? Ez nem optimalizalasi kerdes, hanem, hogy megprobalok e modern eszkozokkel elorefele haladni, vagy 'jovanazugy' hozzaallassal megallok az idoben. De ha ez premature, hat legyen.

-
Zedz
addikt
Mintha számítana bármit is a jquery nemhasználata. Tipikus premature optimization.
Főleg ha CDN-ről jön, akkor optimális esetben már be is van cachelve és onnan használja a böngésző. Abban viszont egyetértek a kollégákkal, hogy ideje lenne már alapvető dolgot szabványba foglalni, mint mondjuk az egyszerűbb XHR kezelést. Bár mire az ES2015 teljes implementálása is megtörténik a mostani böngészőkbe, mi már lehet nyugdíjasok leszünk.

-
dqdb
nagyúr
1. a var kulcsszót egyszer kell használni a number nevű változó esetében, mondjuk mikor először adsz neki értéket.
2. ha csak egy kép van, a while végtelen ciklust eredményez.
3. Ha number nem lehet nulla, mert a setWallpaper nem nullával indexeli a háttérképeket, akkor egyszerűbb a randomszám generálást úgy megírni, hogy egytől kezdődően dobjon számokat.Math.floor(Math.random() * (max - min)) + min;
azaz jelen esetben
Math.floor(Math.random() * (Hatterek.length - 1)) + 1;
4. Elég a while ciklusban randomszámot generálni, nem kell két Math.random sor.
Szóval ebben a formában valami ilyesmi célszerűbb:
var Hatterek = listFiles("Hatterek", false).split("\n");
var number;
if(Hatterek.length > 1) {
while(number == global('OldScrBcg')) {
number = Math.floor(Math.random() * (Hatterek.length - 1) + 1);
}
} else if(Hatterek.length == 1) {
number = 1;
}
if(number) {
setGlobal('OldScrBcg', number);
setWallpaper(Hatterek[number]);
}Még while sem kell:
var Hatterek = listFiles("Hatterek", false).split("\n");
var number;if(Hatterek.length > 1) {
number = Math.floor(Math.random() * (Hatterek.length - 2) + 1);
if (number >= global('OldScrBcg')) {
number++;
}
} else if(Hatterek.length == 1) {
number = 1;
}if(number) {
setGlobal('OldScrBcg', number);
setWallpaper(Hatterek[number]);
} -
Mr Dini
addikt
Laikusként használhatnád a for-t úgy, ahogy a specifikációban szerepel.
for([inicializálás], [ciklus feltétel], [ciklus utasítás]) {
utasítás;
}Első ránézésre ez valami überh@xOr for ciklus, amiben nincs se feltételvizsgálat, se léptetés, és emiatt végtelen ciklussá válik.
Tehát?

Azt szeretném, hogy addig fusson a for loopba, amíg az i értéke I-vel megegyezik. Ha jól látom a példád, akkor középre kéne a feltétel. Viszont én nem akarok a többi helyre írni, mert nincs szükségem pl arra, h hozzáadjon i hez minden alkalommal 1-et...
-
Zedz
addikt
Laikusként használhatnád a for-t úgy, ahogy a specifikációban szerepel.
for([inicializálás], [ciklus feltétel], [ciklus utasítás]) {
utasítás;
}Első ránézésre ez valami überh@xOr for ciklus, amiben nincs se feltételvizsgálat, se léptetés, és emiatt végtelen ciklussá válik.
überh@xOr
Kicsit nevettem ..

-
pckownz
őstag
css classname lehetőleg ne kezdődjön számjeggyel.
Mi a gond vele?
-
Sk8erPeter
nagyúr
Az elavult javascript anyagok szinte mindegyikére jellemző, hogy document.write-tal valósít meg kliensoldali dinamikus kódot, és ha oktatásról van szó, akkor az oktatónak, illetve vizsgáztatónak megfelelés legalább olyan fontos lehet, mint maga a tananyag. Ha nem fontosabb.
Elég szomorú, ha valami idióta tanár document.write-ot ajánl, de egyébként a srác leírásából sehol nem is derült ki egyértelműen, hogy az ő tanára valóban azt várná el, csak elkezdte használni, és ennek megfelelően alakult a további beszélgetés. Ha pedig működik anélkül, akkor elég érthetetlen lenne, ha nem fogadná el a tanár úgy, hogy a srác éppen nem document.write-tal oldja meg, hanem máshogy, mivel működik - ráadásul nem olyan módszert használt, ami tulajdonképpen tilos.
-
libamajas
tag
Mondjuk ha valami ősrégi anyag alapján megy a js tanítás, akkor esetleg lehet az egész ciklus helyére tenni valami document.write -ot. A document.write-ba a teljes html-t bele kell pakolni. Valami ilyesmire gondolok, nem kidolgozva, csak hevenyészett pszeudokód szinten:
<div>
<script>
var i;
var napok = ["H", "K", "Sz", "Cs"];
var fokok = [2 3, 8, 5];
for(i = 0; i < napok.length; i++) {
document.write("<div>" + napok[i] + "</div>");
document.write("<div>" + fokok[i] + "</div>");
if(fokok[i] < 5) {
document.write("<img src='hideg.jpg'>");
} else {
document.write("<img src='meleg.jpg'>");
}
}
</script>
</div>Ez épp eléggé elavult módszer ahhoz, hogy megfeleljen az oktatási rendszer színvonalának.
Igen, valami ilyesmi

De ezt már nem valószínű, hogy betudom építeni. -
libamajas
tag
Csak aztán nehogy az legyen a probléma, hogy olyan technika van benne, amit nem tanultatok, és emiatt esetleg gyanús lesz. Igyekeztem a lehető legáltalánosabb DOM metódusokat használni.
Ez már legyen az én bajom. Köszönöm még egyszer!

-
libamajas
tag
Köszönöm!

A tanár 100% nem hiszi el, hogy ezt én csináltam, de azért jobb beadni valamit mint semmit.
-
libamajas
tag
Itt meg a napok maradtak le
.
Mind 1, megpróbálom magamtól megoldani.
Azért köszönöm a segítségeteket!
-
Speeedfire
félisten
items.push(Object.create(obj));
Köszi.

-
Zedz
addikt
Ha egy kicsit lejjebb görgetsz, akkor látni fogod, hogy az if(x === undefined) az igazából ugyan az, mintha azt vizsgálnád, hogy if(!x).
Talán nem egyből a bad practice-nak megjelölt operátorokkal kellene kezdeni a JS okítást.
Nem értem ezen mi a bad practice. Egyszerű falsy check. De ha én tudom rosszul akkor kérlek írd le miért bad practice.
-
Jim-Y
veterán
if(!x) jelentése: if(x == false) ami kerülendő.
A !x kifejezes nem azt jelenti, hogy x == false hanem
The production UnaryExpression : ! UnaryExpression is evaluated as follows:
Let expr be the result of evaluating UnaryExpression.
Let oldValue be ToBoolean(GetValue(expr)).
If oldValue is true, return false.
Return true.A ToBoolean a falsy ertekeket konvertalja boolean false-ra amit negalni fogunk true-ra. Tehat a !x az egy falsy check es ajanlott a hasznalata ha nincs szukseg explicit check-re.
-
Jim-Y
veterán
Ha egy kicsit lejjebb görgetsz, akkor látni fogod, hogy az if(x === undefined) az igazából ugyan az, mintha azt vizsgálnád, hogy if(!x).
Talán nem egyből a bad practice-nak megjelölt operátorokkal kellene kezdeni a JS okítást.
Ezt kifejtened kerlek? Bar tudom, hogy nem nekem szolt de erdekelne

-
Sk8erPeter
nagyúr
Nem a kezdőkkel van a baj, hanem az értetlenekkel, akik huszadjára sem fogják fel a mondanivaló lényegét.
... és akik még ráadásul kegyetlenül lusták is ahhoz, hogy önálló erőfeszítéseket is tegyenek annak érdekében, hogy maguktól is megpróbáljanak megtanulni valamit, és ne mindent a fórumról várjanak, szájbarágósan. Na, honda ilyen (volt).
-
Sk8erPeter
nagyúr
index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="script.js"></script>
</head>
<body>
</body>
</html>script.js:
var orangeCost = function() {
var total = orange*5;
console.log("The price is "+total);
};
var orange = 5;
orangeCost();HTML-fájl, scriptfájl, az alapvető HTML-struktúra létrehozása helyett nem lett volna egyszerűbb és gyorsabb picit csak simán bedobni a konzolba a kódot, ha már meg van nyitva?

-
zone
őstag
index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="script.js"></script>
</head>
<body>
</body>
</html>script.js:
var orangeCost = function() {
var total = orange*5;
console.log("The price is "+total);
};
var orange = 5;
orangeCost();Ez az, hogy én sem láttam benne hibát, ezek szerint a gond a codeacademy készülékében volt.

-
zone
őstag
Nekem egyszer írja ki.
-
bel26
csendes tag
A prompt fv. stringként adja vissza a beírt értéket, így a + jel stringösszefűzést végez.
var a, b;
for (b=1; b<1000; ) {
document.write(b + ". sor" + "<br>");
a = prompt("irj egy szamot");
b = b + parseInt(a, 10);
}így már értem

Köszönöm szépen a segítséget! -
Zedz
addikt
Gondoltam, hogy valamiért nem egyenlő, de nem tudtam rájönni miért.
Tipikus példa szokott lenni azt demonstrálandó, miért rossz dolog az Automatic Semicolon Insertion. Egyben felhívja a figyelmet arra, hogy a return használata esetén mire kell figyelni.
A linkelt oldalon elolvastam miért úgy működik ahogy, minden nap tanul valamit az ember.

-
werszomjas
addikt
7-es és 8-as Java Runtime-mal sem fut. Class not found exception.
Ez az, és nem értem, hogy a hiba az én gépemben van? Próbáltam már több verziószámot, 3 böngészőt, de semmi

-
Speeedfire
félisten
De sokszor szukseg van arra, hogy klonozz egy objektumot.
A jóég tudja, hogy itt szükség van-e klónozásra vagy. teszAdat, meg egy = 1; ez aztán marha sokat elmond, hogy mire kell ez az egész. Konstansokat meg értékeket bepakolni egy objektumba nem klónozás, hanem sima prototipus használat, vagy még annyi sem.
var testArray = [];
testArray.push({egy: 1, ketto: 2});
testArray.push({egy: 3, ketto: 4});vagy
var testArray = [], testAdat;
function testAdatConstuct(egy, ketto) {
this.egy = egy;
this.ketto = ketto;
}
testAdat = new testAdatConstuct(1,2);
testArray.push(testAdat);
testAdat = new testAdatConstuct(3,4);
testArray.push(testAdat);Object.create-s példát nem írok, az már ES5.
Ez nekem alap objektumkezelésnek tűnik.
Nem konstansok.
Adott elemekre klikkelek rá, 1. kattintáskor az első objektum offset() értéke van benne, a második kattintáskor a második objektum offet() értéke van benne.
Jobb megoldás nem jutott eszembe, emiatt globális a változóm és pakolom bele az értékeket. -
Jim-Y
veterán
ilyenkor siman lehet az, hogy a szervertol kapott json objektumot kisse modositva klonoznod kell
prototipikus öröklés helyett klónozás és módosítás? De az miért jó?

Mert egyszerubb, kevesebb a boilerplate, es nincs a wrappelessel jaro overhead.
Mert oke, ha peldaul van egy html5-os canvassal dolgozo jatekod, ahol mondjuk van egy Bullet objektumod, es a szervertol kapod meg az adatait, akkor egyertelmu, hogy csinalsz neki egy "osztalyt" es ugy kezeled az adatokat. De ha egy sima weblaprol beszelunk, ahol te jo esetben egyszer hivsz meg egy service-t, egyszer kered le a json objektumot, akkor nem fogsz a response-nak csinalni egy kulon osztalyt, mert az overhead.
-
Jim-Y
veterán
De sokszor szukseg van arra, hogy klonozz egy objektumot.
A jóég tudja, hogy itt szükség van-e klónozásra vagy. teszAdat, meg egy = 1; ez aztán marha sokat elmond, hogy mire kell ez az egész. Konstansokat meg értékeket bepakolni egy objektumba nem klónozás, hanem sima prototipus használat, vagy még annyi sem.
var testArray = [];
testArray.push({egy: 1, ketto: 2});
testArray.push({egy: 3, ketto: 4});vagy
var testArray = [], testAdat;
function testAdatConstuct(egy, ketto) {
this.egy = egy;
this.ketto = ketto;
}
testAdat = new testAdatConstuct(1,2);
testArray.push(testAdat);
testAdat = new testAdatConstuct(3,4);
testArray.push(testAdat);Object.create-s példát nem írok, az már ES5.
Ez nekem alap objektumkezelésnek tűnik.
Egy mostanaban eleg surun hasznalt REST+SPA alkalmazasban json objektumok mennek ide-oda a szerver es a kliens kozott, ilyenkor siman lehet az, hogy a szervertol kapott json objektumot kisse modositva klonoznod kell (akarmi miatt). Most te nem fogod mindig bewrappelni a json objektet egy JavaScriptes "osztalyba".
Object.create-s példát nem írok, az már ES5. -> es az miert baj?

-
Jim-Y
veterán
Nem értem. Nem egyszerűbb simán létrehozni egy objektumot? Mondjuk new-val, pédául.
Persze, a legegyszerubb nyilvan ez lenne:
var tesztArray = [],
tesztAdat = {
egy: null,
ketto: null
};
tesztAdat.egy = 1;
tesztAdat.ketto = 2;
tesztArray.push(tesztAdat);
tesztArray.push({
egy: 3,
ketto: 4
});
console.log(tesztArray[0] === tesztArray[1]);De sokszor szukseg van arra, hogy klonozz egy objektumot.
-
Speeedfire
félisten
Ha két oldaltöltés közt akarsz állapotot eltárolni (ajax response-ok eredményét), azt sima változókban is megteheted. Ha újratöltődés után is akarsz adatokat elérni, még mindig egyszerűbb a szerveren tárolni sessionban, főként amiatt, mert a localStorage böngészőfüggő dolog.
Persze a localStorage-nak is meg van a létjogosultsága, de ahhoz ismerni kellene magát a megoldandó problémát.
Single page, nincs újratöltés.
Lenne egy másik kérdésem. A lenti tömb index felülírás miért lehet?

-
Tibcsi55555
tag
Szerveroldalon kell számolni, az meg attól függ, milyen a kiszolgáló. Ha nem Javascript, akkor nem megoldható javascripttel. Sokkal egyszerűbb egy kész számlálót használni.
Rendben, értem. Köszi az info-kat.
-
Cathfaern
nagyúr
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.
Az asszociatív tömb (associative array) programozás elméleti fogalom, nem csak PHP-ban létezik: [link]. Az, hogy elég sok népszerű nyelvben nincs asszociatív tömb, már egy külön történet.
-
Cathfaern
nagyúr
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ó.
Persze nem jó dolog, de ha arról beszélünk, hogy egyáltalán a "tömb" (nem mint javascript, hanem mint programozási fogalom) mire jó, akkor szerintem kár ilyen mélységekbe belemenni.
-
martonx
veterán
Ha össze akarsz fűzni tömbből elemeket, akkor azt kb. valahogy így kell:
var result = myArray[0] + myArray[2] + myArray[4];
Ha number típusú elemek vannak benne, ,akkor az eredmény szerintem nem stringösszefűzés lesz.
Ez igaz, de ott volt a példája, a példa tömbjével, amiben alma, körte stb szerepeltek.
-
Jim-Y
veterán
Hat, ha most ez csak egy beszolas akart lenni a typo miatt, akkor arra nem tudok mit valaszolni
De tenyleg, akkor csak -.-Nem beszólás, nem tudtam, hogy a coercion ezt jelenti.
Akkor jo, bocs

-
Jim-Y
veterán
Mit jelent az, hogy "coersion"?
Hat, ha most ez csak egy beszolas akart lenni a typo miatt, akkor arra nem tudok mit valaszolni
De tenyleg, akkor csak -.-Ha nem, hanem egy kerdes, akkor: http://jscoercion.qfox.nl/. Implicit type coercion-nek nevezik azokat a helyzeteket ahol a nyelv szemantikaja hatarozza meg a kiertekelendo kifejezes tipusat. Ilyen tipus kikovetkeztetes tortenik amikor valaki az == operatort hasznalja a === operator helyett. Ilyenkor a nyelv szabalyainak megfeleloen az egyik argumentumot mas tipusra konvertalja amit mar ossze tud majd hasonlitani a masik argumentummal. Ezek a szabalyok eleg bonyolultak, vagy nem is bonyolultak, de nehez megjegyezni oket, ezert nem szabad az implicit type coercion-re tamaszkodni, hanem mindenhol explicit megmondani, hogy mit szeretnenk.
Pl az x == null, nem csak azt ellenorzi, hogy az x az null-e, hanem egyben azt is ellenorzi, hogy undefined-e. Megsem ajanlott ezt irni, hanem explicit kiirni, hogy
if (x === null || x === void 0)
Mashol is elojon type coercion -> http://speakingjs.com/es5/ch08.html#type_coercion
-
Sk8erPeter
nagyúr
Mit jelent az, hogy "coersion"?
Valószínűleg csak következetesen rosszul írja a "coercion" szót...
-
Sk8erPeter
nagyúr
Ez a csávó egy rakás szerencsétlenség. A + összeadásra és string konkatenálásra is vonatkozik, a minusz meg csak kivonásra.
Aki nem akar Javascriptben programozni, az ne csinálja, menjen el péknek vagy rendőrnek.
Szerintem ezek pont nem annyira szórakoztató példák, de nem tudom, minek húzzátok fel magatokat ezen ennyire.
Legalább ilyenkor az ember elgondolkodik picit rajta, hogy mi miért is úgy működik (és itt speciel mindegyikre van elég gyors magyarázat, de ezt ti is vágjátok
), vagy épp lehet, hogy kicsit agyal, hogy ez így logikátlan, de az itteni példák erre nem túl jók. Egyszer linkeltem én is egy ilyet, amiben sztem ennél viccesebb példák voltak, gondoltam 1-2 perc agykikapcsolásnak jó lesz, és akkor engem oltottál le egészen érthetetlen stílusban, mai napig nem értem, miért: [link]. Itt még mindig megnézhető a videó: [link].
Itt szerintem a [] + [] === empty string, []+{} === [object Object], {} + [] === 0, {} + {} === NaN nem annyira kapásból rávághatóak, hogy miért is vannak így...
Ja, viszont a twitteres példában a var x * 3; sort nem igazán értettem, mivel az nem túl meglepő módon SyntaxErrorhoz vezet, innentől kezdve az értelmetlen. Szerk.: ja, most nézem, valszeg a * helyett = jelet akart írni...
-
adam_
senior tag
Mi lehet a baj, ami miatt itt helyi gépen, "helyi script" bekötéssel miért nem megy? "Localba" így alkalmazom:
<script src="jquery-2.1.1.min"></script>
Szerintem nem jó a fájlnév, lemaradt a js kiterjesztés.
Hiába írom oda a js kiterjesztést, úgy sem reagál, sőt igazából, ha a világhálóról linkelem be a library-t, akkor sem csinál semmit. Holott JSFiddleben simán megy.

-
CSorBA
őstag
Meg sem szólalok, nem tudom miért nem így használtam.

Köszönöm szépen!
szerk.: @4606 igen, természetesen csak fiddlen hagytam ki, kódban rendben van.
-
Karma
félisten
Á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?
Hogy konkretizáljam, e célból a Microsoft elég sok VM-et elérhetővé tett. De például a RemoteIE szolgáltatással még virtuális gép se kell.
-
Speeedfire
félisten
Nem szabványos a dátum formátuma. Próbáld YYYY-MM-DD formában.
Úgy simán megette. Érdekes, hogy rohadt sokféleképpen elfogadja, de így nem. A megoldás az lett, hogy split()-eltem a sztringet és vesszővel szeparálva adtam meg paraméternek.
-
Sk8erPeter
nagyúr
this helyett $(this), és működni fog. A toggleClass egy jQuery metódus, ezért előbb a this-t jQuery objektummá kell alakítani.
Igen, pont ezt fejtegettük Jim-Y-vel, ő is demonstrációs céllal mutatta a példákat.

-
Jim-Y
veterán
this helyett $(this), és működni fog. A toggleClass egy jQuery metódus, ezért előbb a this-t jQuery objektummá kell alakítani.
De ezt miert nekem irod?

-
Speeedfire
félisten
A 'valami' az nem egy css szelektor akar lenni?
A valami így néz ki: "#egyediazonosító .osztály".

Sk8erPeter:Ez most nekem kicsit gyanús mondat... Akkor egész pontosan hogy is dobja a hibát? Az "esemény után"?
Igen, az esemény után dobja, de nem hiba, hanem warning.Tehát amikor a click event konkrétan megtörténik? Az eseménykezelő lefutása után? VAGY csak az eseménykezelő beregisztrálása (a mutatott kódrészlet lefutása) után, tehát még nincs semmi köze a kattintás eseményhez, csak szóltunk, hogy van egy ilyen eseménykezelőnk?
A fenti kódrészlet lefutása után dobja, amikor a click esemény már lefutott.Hát vigyázzá', itt a szavaknak SÚLYA VAN!!!!44NÉGYNÉGY

Vigyázok! NÉGY!!!444!!!NÉGY!
-
Speeedfire
félisten
Igen, erre gondolok, de nálam ez teljesen üres. Azt írja nincsenek megjelenítendő veremértékek.

Sőt, a változók rész is üres. -
martonx
veterán
És azzal folytatnám, hogy js oldalon ellenőrizném, hogy jött-e megjelenítendő adat.
Ha nem, akkor felfednék egy addig hide-olt gombot, és arra kattintva ajax-al elküldeném a szervernek az input mező tartalmát. Szerver oldalon meg már csak egy db insert kell a boldogsághoz. -
Bici
félisten
Nem az a gond, hogy a closure-on belül az i indexváltozó nem fog stimmelni az event lefutásakor?
Én is ilyesmire tippelek, mert valószínűleg a következő ciklus hamarabb írja felül a ciklus az i-t, mint ahogy betöltődne a kép.
Este kipróbálom a két for ciklusos módszert, hátha. Viszont itt sem biztosított, hogy a képek addigra betöltődnek. Mi van, ha nagyobb egy kép?Olyasmi megoldáson töröm a fejem, ami biztosítja, hogy a ciklusok ne vágják felül az imageObj[I] változót, hanem egymástól függetlenül várják ki a betöltést.
Lehet, hogy egy külön függvénybe kellene raknom az onload-ot és az i-t paraméterként beadni?
-
Sk8erPeter
nagyúr
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>Na az meg a másik.

-
kemkriszt98
tag
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.
Nem mert kicsibe megjelennek, csak mintha a js nem menne de mivel több gépen is kipróbáltam így nem tudom mi lehet
de akkor haggyuk, 2 óra múlva jövök a kóddal . -
trisztan94
őstag
A win kliens az újdonság. Eddig leginkább csak OS X alá volt.
Igen, közben leesett

Nem rossz amúgy, de nem fogom használni. Ott van nekem a Sublime meg a Brackets (mostanában inkább Sublime, sokkal gyorsabb, egyszerűbb kezelni szvsz), komolyabb melóra pedig IDE (Netbeans, Visual Studio, ha úgy adódik). Tehát igazából nem értem, hogy miért csinálták ezt, direkt kompetense akar lenni a Bracketsnek, ami már eléggé kiforrott.
-
martonx
veterán
Ha jól rémlik most így két-három üveg sör után, a javascript csúnyán megbosszulja a case sensitive hibát. getElementByID helyett getElementById
Ez is jogos, ezért nem használok Notepad szintű IDE-ket. Jó lenne a PH-t felokosítani némi kód intellisense-el

-
Sk8erPeter
nagyúr
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.
Ja értem, ezek szerint akkor mindketten félreértettük, amire gondoltál, sorry. Eleinte azt hittem, azt véded, ha valaki behányja a konkrét függvényhívást vagy akár implementációt az onclick-be és társaiba, de így utólag visszaolvasva egyértelműen kihangsúlyoztad, hogy nem erről van szó, csak akkor nem jött át, bocs.
-
martonx
veterán
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.
"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."
Nem értek egyet. Így 2014-ben a html-be belefosott js eseménykezelő abszolút védhetetlen. Lehet 1-2 eset, amikor tudatosan generálunk pár js változót a html kimenetbe (mondjuk egy user role esetében felesleges azért egy külön ajax hívást indítani, csak hogy lekérjük a szerverről a user csoportját), de az onclick, on.... esetek használata szvsz védhetetlen. Régen ez így volt, HTML5 előtt (pontosabban jquery előtt) érthető is volt, mert egy class-al azonosított html elemre esemény kezelőt kötni fájdalmas volt, ha az a class szerepelt X darab html elementnél, és mindre rá akartad kötni ugyanazt az eseményt.
Aztán jött a jquery és már HTML4-ben is normálisan felépített szeparált kódokat lehetett felépíteni vele kliens oldalon. Nem vagyok az a típus aki design patternek megvalósításától élvez el, de minimum alap követelmény a különböző kódok szeparálása. Ráadásul a külön js-ekbe kiemelés az oldal betöltődésének is kedvez.
-
Sk8erPeter
nagyúr
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.
Mit tekintünk ez esetben "tisztességes implementációnak"?
"Az, hogy te mit tartasz jónak, meg logikusnak, meg karbantarthatónak, az ezen a véleményemen nem fog változtatni."
Te ezek szerint nem tartod karbantarthatóbbnak a szeparált JS-kódot?
Igazából te sem fogsz változtatni a véleményemen, mert szerintem ettől még továbbra is rontja a karbantarthatóságot, és még ha régen én is csináltam ilyesmit, ma már inkább nem követnék el ilyen merényletet, csak nagyon kihangsúlyoztad, hogy ezt csak én gondolom így. Pedig a korábban belinkelt cikk is pontosan ennek a kutyulódásnak a negatív hatásait fejtegeti röviden.===========
Más: össze kéne már gyűjtenünk közös erővel olyan linkeket, amiket bedobhatnánk a téma-összefoglalóba. Szóval ha van olyan cikk, amit jónak tartotok, és kapcsolódik a JavaScripthez, akkor dobjátok be plíz!

-
don.racz
csendes tag
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.
Igen, ezzel már próbáltam és ezzel frankó is minden, de nem tudom vele megcsinálni hogy körbe körbe menjenek a képek...

-
LógaGéza
veterán
Ez ugyanaz a képlet, csak nem 0.1, hanem 0.4-es szorzóval.
Tudom, de így legalább kijön a keresett összeg.
-
Sk8erPeter
nagyúr
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!
Most komolyan, mi szükség volt erre a stílusra? Mondtam én neked bármi rosszat? Kitűzted magadnak célul, hogy most aztán belémkötsz, vagy mi a célod? Ne aggódj, eddig csak saját magadat hergelted be igazából teljesen feleslegesen (bár inkább meglepő módon), de ez nem épp arra utal, hogy ne vetted volna magadra a korábbiakat (de ne haragudj, valahogy nincs kedvem ehhez a "nem is, hanem te!!"-jellegű elkezdett óvodastílushoz).

Mindenesetre tényleg nem értem, mi bajod van, min húztad fel magad, bár gondolom épp szar kedved volt/van, és engem találtál be.
-
Sk8erPeter
nagyúr
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.
Annak, hogy belinkeltem, a lényege nem az volt, hogy mennyire "vicceske", vagy sem, meg hogy a forma milyen figurákat mutogat, hogy feldobja az előadását, hanem az, hogy milyen degenerált típuskonverziók történnek JavaScriptben, és ezen senki ne lepődjön meg, ha ilyennel találkozik kódolás során. A mondanivalója pedig pontosan ez volt (ergo volt mondanivalója).
Amúgy nem kell ám magadra venni, mintha személyes sértést mondtak volna neked, hogy a JavaScriptben elég meglepő az, hogy []+[] = empty string, vagy hogy {}+{} = NaN; vagy ez így tök oké?
"Tudom, hogy az ún. komoly programozokóknak ez vörös posztó, de hát ez legyen az ő bajuk."
Ezzel nem tudom, kire céloztál, meg hogy miért sértődtél meg ennyire ezen a videón
de nem tudom, miért lenne probléma az, hogy mindezt a típuskonverziós problémát valaki bemutatja. Ha van ilyen probléma, és adott esetben meglepetéseket okozhat, akkor inkább söpörjük szőnyeg alá, és ne beszéljünk róla? 
-
Jim-Y
veterán
FF-ben Shift + F4 - Scratchpad. Beírod a programot, majd Ctrl + R -rel futtatod.
Köszi

-
j0k3r!
őstag
Valószínűleg a webszerver hiánya a probléma. A legelső példád működik, a második eleve nem jó, ezt a buttonost nem próbáltam ki.
na vegre sikerult : )
igazad volt, apache alatt mukodik, de ha csak 'siman' nyitom meg, akkor nem.
koszonom szepen a segitseged. -
j0k3r!
őstag
Í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.
igy sem jo :/
csinaltam direkt egy tesztgombot is:
<button type="button" onclick="loadXMLDoc('gallery.html','text_bottom')">gomb</button>de sajnos igy sem jo.
szerk: dobjak fel egy xampp-ot?
-
j0k3r!
őstag
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.
a home.html file-omban hivom meg a scriptet, ami mellett van egy ajaxfiles mappa, amiben van egy gallery.html file. ennek igy jonak kellene lennie nem?
szerk: atmasoltam a home.html melle a gallery.html-t es igy hivtam meg:
<li><a href="loadXMLDoc('gallery2.html','text_bottom')"><span>Gallery</span></a></li>erre ff:
A fájl nem található
A Firefox nem találja a fájlt a(z) /c:/Documents and Settings/joker/webprog/ujdoki/loadXMLDoc('gallery.html','text_bottom') helyen. -
ktg3
őstag
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>és olyat nem lehet, hogy y.onclick?
vájá mindjárt kipróbálom
-
ktg3
őstag
vagy mi az ami linkesít javascriptben??
Mi a baj a te megoldásoddal? (y.innerHTML)
nincs baj, csak szeretném tudni, hogy hogy kell olyat, hogy az egész cella a link, és nem csak a tartalma.
bizonyos körülmények között jobban hat ha az egész cella a link nem csak a szöveg benne
-
ktg3
őstag
de soha nem jöttem volna rá, hogy így lehet javascriptben hozzányúlni a dolgokhoz
Erre nem rájönni kell, hanem megnézni a DOM leírásokban.

és az is ottvan? hogy hogy lehet megcsinálni azt, hogy onclickre a cella adjon egy linket??
mert én valahogy így képzelem el.var x=document.getElementById('menu').insertRow(i);
i++;
var y=x.insertCell(0);
y.innerHTML="<a"+f+" href='oldal_11.htm?kod="+I+"' target='oldal'> "+S+"</a>";
x.onmouseover = function () {this.style.backgroundColor='#FFD700';}
x.onmouseout = function () {this.style.backgroundColor='#839CBF';}
x.onclick=function () {"<a href='oldal_11.htm?kod="+I+"' target='oldal'> </a>"}de persze ez csak az álmaimban

vagy mi az ami linkesít javascriptben??persze így ki lehetne venni a hrefet a cella tartalmából
-
ktg3
őstag
<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>köszi ez jó: )
de soha nem jöttem volna rá, hogy így lehet javascriptben hozzányúlni a dolgokhoz
-
Sk8erPeter
nagyúr
<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.
Köszi, kipróbálom!

-
Sk8erPeter
nagyúr
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.
OK, akkor az lesz - de ha csupán egyetlen szövegmező van (pl. a keresésre), és szeretném ezt az üresküldős módszert használni, akkor már arra is külön függvényt kell csinálni- pl. mint ami itt PH-n is van a "gyorskeresés" mezőnél? Itt egy onsubmittel oldja meg.
Konkrétan itt PH-n ez vonatkozik a gyorskeresésre:<form action="/tema/javascript_topic/keres.php" method="get" onsubmit="if(eraseDef(sfor_all)) return prevDef(event);">
<input type="text" name="sfor_all" value="gyorskeresés" alt="keresendő szavak" tabindex="1" onfocus="eraseDef(this);" />
<input class="submit" type="submit" value="OK" tabindex="1" />
</form> -
Sk8erPeter
nagyúr
<input type="text" value="Search..."
onfocus="if(this.value == this.defaultValue) this.value = ''"
onblur="if(this.value == '') this.value = this.defaultValue" />Jaaa, hogy ez ennyire egyszerű?
Ó, nagyon jó, köszönöm ismét, fordfairlane!

Te mindig mutatsz valami tök egyszerű kódot, ami jól is működik.
Respect! 
-
animatrix11
őstag
<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.
átirtam, mostmár megjelenik a csúszka, de csak mutatja hogy éppen hol tart, de előre ugrani nem tudok benne, monjuk láttam már ilyet ez valami media player betegség
flashben hogyan tudom felrakni? nem értek az egészhez annyira, frontpage-ben csinálom
köszi

Új hozzászólás Aktív témák
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Kínai és egyéb olcsó órák topikja
- Milyen légkondit a lakásba?
- Sony MILC fényképezőgépcsalád
- Építő/felújító topik
- Milyen NAS-t vegyek?
- Anglia - élmények, tapasztalatok
- Parfüm topik
- Android Auto és Carplay utólag? A Carpodgo Mini kicsi és olcsóbb, mint a nagyok
- Apple Watch
- Apple MacBook
- További aktív témák...
- Fujitsu LIFEBOOK E459 I3-8130U 8 GB 256 GB NVMe 15,6" FullHD laptop
- HP ProBook 450 G8 I3-1115g4 8 GB 256 GB NVMe 15,6" FullHD IPS laptop
- Lenovo Thinkpad T14 G2 Ryzen 3 5450u/16GB/256 GB SSD/14"FHD gyári gar
- HP Elite x2 G4 I5-8265U/8 GB RAM/256 SSD/3k IPS TOUCH 2in1 laptop és tablet
- Új MSI 16 Sword WUXGA 144Hz i7-14650HX 5.2Ghz 16mag 16GB 1TB SSD Nvidia RTX 4070 8GB Win11 Garancia
- Bomba ár! Lenovo ThinkPad L13 G3 - i5-1245U I 16GB I 256SSD I 13,3" WUXGA I Cam I W11 I Garancia!
- Telefon felváráslás!! Xiaomi 13T, Xiaomi 13T Pro, Xiaomi 14T, Xiaomi 14T Pro
- GIGA-AKCIÓS! ÚJ -DOBOZOS! Dell Pro 14 Ultra 7 255U 16GB DDR5 1TB AI PC FHD+ 1 év garancia
- GAMER PC! Ryzen 5600 / RTX 3060 12GB / A520M / 16GB DDR4 / 512GB NVMe!
- Dell UltraSharp U2415 monitor/ 2 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest






Szerintem a böngésző tiltja le a külső oldalakhoz való hozzáférést... Ezt szeretném valahogy (akár php segítségével) kikerülni.









Respect!


