-
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
-
Speeedfire
félisten
Az őszi webconf-on még azt mondták, hogy prod-ba nem igazán érdemes használni, max előre forgatva.
Hát a fene tudja, ez a projekt szerintem már kifut így, max a következő.Nem vagyok nagy js-es, időről időre mindig próbálok valamit magamra szedni. Viszont most a játék fejlesztés miatt nagyon kellett ez az extends. Viszont frankón megy.

-
Speeedfire
félisten
-
Speeedfire
félisten
ES6-hoz nem feltétlen kell babel, ott a node az támogatja már

Egyébként a setNameUrtartalom egy példány metódus amit egy példányon tudsz meghívni, a konstruktorban még nincs példányod így nem is tudod azt meghívni, meg hát értelme sincs. Inkább már ott setteld be normálisan.
+ használj nagy kezdőbetűt a classokhoz
+ a setterek igazodjanak a konvenciokhoz tehát legyen bemeneti argumentum és azt settelje beES6-hoz nem feltétlen kell babel, ott a node az támogatja már
Sima html5 app lesz, nincs nodejs.
Köszi a példát, ez most nagyon sokat segített.


fordfairlane: Köszi neked is.
-
Speeedfire
félisten
Próbálok kicsit játszadozni az osztályokkal, de valami nem kerek. [link]
var kocsi = function(name, ajtok, urtartalom) {
this.name = name;
this.ajtok = ajtok;
this.urtartalom = urtartalom;
this.nameUrtartalom = null;
this.setNameUrtartalom();
};
kocsi.prototype.setNameUrtartalom = function(){
this.nameUrtartalom = this.name + '-' + this.urtartalom;
};
kocsi.prototype.getNameUrtartalom = function(){
return this.nameUrtartalom;
};
kocsi.prototype.getAjtok = function() {
return this.ajtok;
};
kocsi.prototype.getName = function() {
return this.name;
};
kocsi.prototype.geturtartalom = function() {
return this.urtartalom;
};
var cabrio = function(name, ajtok, urtartalom, teto) {
kocsi.call(name, ajtok, urtartalom);
this.teto = teto;
};
cabrio.prototype = Object.create(kocsi.prototype);
cabrio.prototype.constructor = cabrio;
cabrio.prototype.getTeto = function() {
return this.teto;
};
var honda = new cabrio('S2000', 2, 1997, 'puha');
alert(honda.getName());
alert(honda.getNameUrtartalom());
alert(honda.getTeto());Ha nincs set metódus, akkor minden frankón megy. Ellenben ha a szülőben egy set metódust csinálok, akkor gyerek hibával elszáll. Jelen esetben a setNameUrtartalom-ra azt írja, hogy nem funkció. Mit rontok?

Tudom, használjak es6-ot...meg babel-t....
-
Speeedfire
félisten
Mármint úgy érted, másnak a kódja, amibe nem nyúlhatsz bele? Vagy csak mert csak, jó az vidékre?

Vagy csak mert csak, jó az vidékre?
Valami ilyesmi!
Sok json van, és inkább keycatalog szerű kulcsokkal dolgozok. Egyszerűbb és ritkán változik. Ha pedig mégis, akkor gyorsan át tudom ütni a key-eket a forrásban. -
Speeedfire
félisten
Azt még azért mindenképp szépíteni kellene a kódon, hogy ne stringek legyenek ilyen esetben a switch-ben, meg a helperTypes tömbben sem, hanem konstansok (mármint most ez nem keverendő a string konstansokkal, sszóval érted
), hiszen ha mindenhol stringeket használsz fel, az törékennyé teszi a kódot. (Pl. ha később rájössz, hogy azt nem "healt"-nek, hanem "health"-nek kellene írni, és egyik helyen így használod, másik helyen úgy.
)Nem módosítom ezt a részt.

-
Speeedfire
félisten
Miért nem pontos? Pont 70/30 arányban vág, ahogy kérted.
The Math.random() function returns a floating-point, pseudo-random number in the range [0, 1) that is, from 0 (inclusive) up to but not including 1 (exclusive), which you can then scale to your desired range.
Jim-Y Miért kell shuffle, ha amúgy is random elemet választasz ki?
Fentebb is linkeltem. [link]
Nem pont 70/30 a végeredmény. De közelít hozzá, nekem pedig ez a lényeg.
-
Speeedfire
félisten
function getTypeValue() {
var result = Math.random();
if(result < 0.7) return 0; //fegyver
else return 1; //heal
}
this.helperTypes = [
'gun', 'healt'
];
addHelper: function () {
if (this.game.time.now > this.nextHelper) {
this.nextHelper = this.game.time.now + this.helperRate;
var type = getTypeValue();
this.helpers.push(new Helper(this.countHelper, game, this.player, this.helperTypes[type]));
this.countHelper++;
}
},Btw, amúgy heal (gyógyít/gyógyítás) vagy health (életerő).
Ez a megoldás elég szimpatikus. Megközelítőleg jó eredményt hoz.
[link]
Köszi.

Jim-Y:
Neked is köszönöm, bár a sztanozs féle megoldás mellett döntöttem. Nem pontos, de egyszerű.
-
Speeedfire
félisten
Két külön dolgot csinálsz először, majd most. Az első példában X (100) darab elemből 30 darab egyest, 40db 2-t maradék 3-ast adsz vissza, tehát 1-esből 30% kettesből 40, stb darabod lesz. Ahogy csináltad az nem tartom túl erőforrásigényesnek mert O(n)-es a műveletigény. A második példában generálsz véletlen számokat 10-ig majd a véletlen szám függvényében adsz vissza valamit. Itt nem tudod garantálni hogy melyik milyen arányban legyen mert pszeudorandom lesz a szám. Nem akarod leírni hogy mit akarsz így megoldani hátha van rá jobb/más megoldás?
Egy kis html5 játékon dolgozok phaser motorral. A játékban x időközönként feljönnek ikonok amiket ha felvesz a játékos akkor plusz élet vagy fegyvert kap (legalábbis jelenleg, de ezt bővíteném). Fegyverből is van 11 féle.
A lényeg az lenne, hogy amikor egy ilyen ikont feldobok, akkor 30% valószínűséggel legyen élet, a maradék 70%-ban pedig fegyver. Jelenleg csak kiveszem a helperTypes tömbből az egyik elemet és abból lesz az ikon. Vagy fegyver vagy élet. Ezt a Helper osztály konstruktora tovább dolgozza. Kb ennyi lenne a lényeg. De nem tudom a 30/70-et hogy tudnám megoldani.this.helperTypes = [
'gun', 'healt'
];
------------------------------------
addHelper: function () {
if (this.game.time.now > this.nextHelper) {
this.nextHelper = this.game.time.now + this.helperRate;
var type = game.rnd.integerInRange(0,this.helperTypes.length);
this.helpers.push(new Helper(this.countHelper, game, this.player, this.helperTypes[type]));
this.countHelper++;
}
},
------------------------------------
var Helper = function (index, game, player, type) {
var x = game.rnd.integerInRange(game.width/2,game.width-50);
var y = game.rnd.integerInRange(50,game.height-50);
this.game = game;
this.player = player;
this.type = type;
this.helper = game.add.sprite(x, y, type);
this.helper.anchor.set(0.5);
this.helper.name = index.toString();
game.physics.enable(this.helper, Phaser.Physics.ARCADE);
this.helper.scale.setTo(0.25, 0.25);
this.helper.outOfBoundsKill = true;
this.helper.checkWorldBounds = true;
this.helper.body.immovable = false;
game.physics.arcade.velocityFromRotation(this.helper.rotation, -100, this.helper.body.velocity);
};
Helper.prototype = Object.create(Phaser.Sprite.prototype);
Helper.prototype.constructor = Helper;
Helper.prototype.update = function () {
//todo
};
Helper.prototype.useIt = function(gameObj) {
switch(this.type) {
case 'gun':
var index = this.game.rnd.integerInRange(1,9);
gameObj.setWeapon(index);
break;
case 'healt':
var index = this.game.rnd.integerInRange(1,5);
gameObj.healt += index * 10;
break;
default:
//todo
break;
}
};
sztanozs:
Csak gyors összedobtam a példákat, nem figyeltem, hogy pontosan jó-e.
Szerk.: Köszi, bár nem tudom, hogy most akkor ez kell-e számomra vagy sem.

-
Speeedfire
félisten
Sziasztok!
Olyat szeretnék csinálni, hogy adott x db elem, ezek közül akarok visszanyerni egyet. De úgy, hogy pl x 30%-al jöjjön vissza, míg y 50%, a maradék 20%-ban pedig a z.
Erre írtam egy elég "erőforrás" igényes dolgok, de nem tudom lehet-e ezt egyszerűsíteni, avagy sem.

Példa illetve abban sem vagyok teljesen biztos, hogy ez így okés
Jól sejtem, hogy valami ilyesmi lesz a megoldás?


sztanozs:
az x db elem és az x 30%-al jöjjön vissza között van valami korreláció, vagy csak véletlenül használtad ugyanazt a 'változót' két külön dologra?
Véletlen volt.
Példa:
Van egy zsák, amiben van körte, alma és szilva. Ha belenyúlok a zsákba, akkor véletlenszerűen kapok egy gyümölcsöt. Én azt szeretném, ha belenyúlok, akkor 30% valószínűséggel legyen alma, 50% valószínűséggel körte és 20% valószínűséggel legyen szilva.
Emiatt gondoltam, hogy felöltöm előre a zsákot és akkor elvileg ezt kapom meg.Utólag gondoltam, hogy lehet nem kellene feltölteni. Hanem kérek egy random számot, ez lenne a százalék és ebből adom meg, hogy az alma, szilva vagy körte. Kicsit fordított logika, de a kód sokkal rövidebb lett.
-
Speeedfire
félisten
Sziasztok!
Olyat szeretnék csinálni, hogy adott x db elem, ezek közül akarok visszanyerni egyet. De úgy, hogy pl x 30%-al jöjjön vissza, míg y 50%, a maradék 20%-ban pedig a z.
Erre írtam egy elég "erőforrás" igényes dolgok, de nem tudom lehet-e ezt egyszerűsíteni, avagy sem.

Példa illetve abban sem vagyok teljesen biztos, hogy ez így okés
-
Speeedfire
félisten
Sziasztok,
egy A4-es tördelőt készítek és elakadtam benne. Nem tudom van-e rá valami értelmes megoldás. A lényeg, hogy van egy hosszú html tartalom és A4-esre tördelem a lapokat, mint a nyomtatási képben. Viszont ha magas dom elem(tábla,kép stb) van benne, akkor szétszáll. [link]
Szétszállós példa. [link] -
Speeedfire
félisten
Sziasztok!
Ezt (előzőnek egy fork-ja) használta már valaki? Vagy esetleg másik alternatíváját? Odt-t szeretnék megjeleníteni. Db-ből jön egy blob, aminek a tartalma odt, ezt akarom kirakni. De ahogy nézem a legtöbb az valami converter vagy url lehet a bemeneti paramétere. Mind a kettő jó lenne, url-el mennek is, de blob megoldást nem találok rá.
-
Speeedfire
félisten
Ez egy kiváló media lejátszó, remekül kezeli a streamelt filmeket is. Movian
Ha van egy androidos TV sticked, akkor gyakorlatilag nélkülözhetetlen
Nem ismerek hozzá hasonlót.
...talán az XBMC, de ahhoz nincsen ilyen plugin
... de egyébként meg...
teljesen igazad van, egyetértek veled,.
Csak akkor érdemes hozzá plugint fejleszteni, ha más is így beleszeretett
Ha lenne olyan eszközöm, amin ez tudna futni, akkor biztos nekiesnék, mert nem lehet rossz. Viszont én asus oplay-t használok már évek óta és szinte minden igényemet kielégíti, így nincs ingerem váltani.

Viszont kb 2 perc keresés után erre te is rátaláltál volna.
Ő készítette a plugin-t, itt le tudsz neki adni hibajegyet vagy esetleg más fejlesztési igényt. Aztán vagy megcsinálja, vagy nem. Sok sikert.
-
Speeedfire
félisten
Sziasztok!
JS programozó segítségét szeretném kérni, egy Movian plugin átírásában.
A szóban forgó pluginnak megváltozott a domain-je .eu-ról .tv-re.
Azt hittem, ha kicserélem az összes ".eu" kifejezést ".tv"-re akkor újra működni fog, de sajnos nem megy.
Csak az indavideo-s videókat játssza le, mást nem
(Plugint úgy lehet a Movianban telepíteni, hogy az eszköz tárhelyének \Movies könyvtárába bemásoljuk a zip file-t, és betöltjük.)De jó lenne egy ilyen az asus oplay-hez.

-
Speeedfire
félisten
Ez engem is érdekele, mert a szabvány ennél sokkal többet enged meg.
-
Speeedfire
félisten
Régvótmáaz, biztos azóta már sokkal minőségibb kérdéseket teszel fel.
(just kiddin') Kérdezzzzz, most!!!444NÉGY 
Ugyan olyan sz*rul tudok még mindig kérdezni.
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Speeedfire
félisten
Hádenemiskötöttem beléd!
(Kivételesen.
) Gondolom amúgy is ismered, csak rácsodálkoztam, hogy jé, pont nem műxik a jsbin.(#5733) Cathfaern:
Jaja, beleírattam az összefoglaló legelső sorába, mert kis naivan azt gondoltam, hogy az már eléggé feltűnő.
(#5737) Zedz:
Azért amikor az ember elkezd tanulni programozni, a szakmai infós angol kezdőként nagyon fárasztó tud lenni. A megoldás az, hogy eléggé kitartónak kell lenni.
Há'deszintemindigbelémkötvalakittafórumon. Nagyon már nem is járok fel ide kérdezősködni, inkább máshol teszem fel a kérdéseket.

-
Speeedfire
félisten
document.write()-ot értelmes ember nem használ.
![;]](//cdn.rios.hu/dl/s/v1.gif)
(#5714) Speeedfire:
Ilyenekre amúgy ott lenne a jsbin.com, ahova teljes kód felpakolható, ahonnan aztán lehet kopipasztázni, de most épp fogalmam sincs, miért nem üzemel egyáltalán.
Jól van na, kössél belém.
![;]](//cdn.rios.hu/dl/s/v1.gif)
Nekem a pastebin maradt a fejemben. -
Speeedfire
félisten
-
Speeedfire
félisten
-
Speeedfire
félisten
-
Speeedfire
félisten
-
Speeedfire
félisten
Igen.

//az adott i-edik td elemhez hozzá adok egy css osztályt hideg/meleg
$("td:eq(" + i + ")").addClass(idojarasClass);//ez a 2 sor csak logolás debug miatt
console.log(i);
console.log(idojarasClass); -
Speeedfire
félisten
-
Speeedfire
félisten
-
Speeedfire
félisten
Lehet én vagyok fáradt, de még mindig nem értem mit akarsz a var = 0-val.
A var javascriptben változót jelöl.
Így használjuk: var változóneve = változóértékfor ciklusnak pedig ez a szintaktikája:
for (var i = 0; i < 10; i++)
Ami azt jelenti, hogy előteszteléses ciklust indítasz egy helyi scope-ban értelmezett i változóval, melynek kezdőértéke 0, és minden ciklusban növekszik egyel amíg a feltétel igaz (tehát hogy kisebb, mint 10)
A var = 0 nem jelent semmit, hibát fog dobni.
Itt az alapokkal is baj van.

libamajas: Javaslom, hogy ezt fusd át. -
Speeedfire
félisten
items.push(Object.create(obj));
Köszi.

-
Speeedfire
félisten
Nem jut eszembe, hogy lehet úgy elemet használni, hogy nem frissíti a referencia objektumot, csak azt amit épp módosítok. [link]
Az utolsó console.log() eredménye is 11, pedig én azt "meg szeretném hagyni" eredetinek.
-
Speeedfire
félisten
-
Speeedfire
félisten
Lehet volt már, nem tudom mindenesetre egész jól hangzik csak olyan félkész feelingje van. angular-meteor
Ötvözi a meteor-t és az angular-t. Sajnos windows alatt nem megy a mobil rész, ezt ahogy nézem hónapok alatt nem oldották még meg. Illetve az ionic szekció sem fedi le a valóságot.
Az angular2 szekció is nagyon jó. TS-ben megírod a kódot és a meteor átforgatja, hogy régebbi böngészőkkel is kompatibilis legyen.
Kíváncsian várom, hogy mi lesz a projekt sorsa. -
Speeedfire
félisten
Sziasztok!
Foglalkozott már valaki ckeditor plugin fejlesztéssel? AC plugin-t szeretnék, de nem akar működni. Esetleg rá tudnátok nézni? [link]

-
Speeedfire
félisten
Kipróbáltam az Ionic-ot, de még lassabb volt. Igaz nem mai darab már a telefonom. Lehet tényleg a CrossWalk lesz a megoldás rá.
Visszavonok mindent, nagyon szuper ez az ionic + crosswalk kombó. Voltak kisebb gondok a build-eléssel, de a fórumon mindenre ott volt a megoldás rá.
Köszi a tippet!
-
Speeedfire
félisten
-
Speeedfire
félisten
Androidon próbáld meg a Crosswalkot használni, hátha segít a gyári böngésző szintjét visszahozni. Mondjuk ettől még lehet, hogy valami elszúrás van mögötte, például nehéz jó görgetést írni manuálisan...
Én az Ionic Frameworkkel szoktam mindennek nekiszaladni, ott már ezeket az eseménykezeléseket szépen összehozták.
Ez az Ionic nagyon jól néz ki, mindenképp átírom erre a projektet. Pozitív, hogy van vízszintes grid is benne.
Lehet kipróbálom majd a Crosswalk-ot is, de egyelőre csak android-ra akarom kipróbálni.
A linkelt projekten már húztam kicsit sebességben, optimalizálgattam, illetve a FastClick is sokat segített, hogy használhatóbb legyen.
Köszi a linkeket.

-
Speeedfire
félisten
Igazából a toch eseményeknél érzek kisebb lassulást, de cpu igényt nem igazán értem. De holnap akkor megpróbálom remote debug-al. Mit érdemes figyelni?

Amúgy ez a fapad verziója, nem teljes még, illetve kisebb felbontáson a player rész el van csúszva. Ami fura, hogy a telefonomra (540*960) kezdtem el csinálni, de telefonon teljesen más a méret (mintha kisebb lenne). -
Speeedfire
félisten
Valaki készített már phonegap-el alkalmazást? Írtam egy zenelejátszót html5-ben angularjs alapokon. Telefonon böngészőben egész jól tudott, de phonegap alatt már kevésbé.
Hogy lehetne kideríteni, hogy android alatt mi miatt lassul be az alkalmazás? -
Speeedfire
félisten
Ha a pénz nem számít, vagy open source akkor StrongLoop.
De engem is érdekelne egy értelmes ingyenes framework. -
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. -
Speeedfire
félisten
-
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?

-
Speeedfire
félisten
localStorage alapból arra lett kitalálva, hogy a szervertől függetlenül lehessen tárolni benne adatokat, akár a szerver session megszűnése és/vagy böngésző bezárása után is.
Ehhez képest te változókhoz hasonlít, illetve azt írod, hogy ajax kérés válaszát tárolod benne... ez alapján eléggé valószínűsíthető, hogy rosszul (rossz célra) használod
Igazából leszámítva azt az esetet hogy ha offline is működő webes alkalmazást akar készíteni valaki, nem nagyon látom a létjogosultságát a kliens oldali adatbázisnak.
Nem lesz offline.

Köszi az infókat. -
Speeedfire
félisten
"Nem láttam se gyorsabbnak, se egyszerűbbnek, mint a js változókat."
Mitől lenne már gyorsabb localStorage-en vagy bármin keresztül elérni, mint a változókhoz hozzányúlva?
Egyébként szerintem ennyi alapján simán elegendő lenne neked a localStorage is, csak sanszos, hogy rosszul használtad.

"Mitől lenne már gyorsabb localStorage-en vagy bármin keresztül elérni, mint a változókhoz hozzányúlva?"
Miért ne lehetne gyorsabb? Nem tudhatod.
"Egyébként szerintem ennyi alapján simán elegendő lenne neked a localStorage is, csak sanszos, hogy rosszul használtad."
Miért? Mert leírtam, hogy mire használtam?
-
Speeedfire
félisten
Miért nem használod a dokumentációkat? Sokkal kevesebb szopásban lenne részed (persze az értő olvasás is követelmény hozzá):
https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName"Returns an array-like object of all child elements which have all of the given class names."
Ebből elég jól látható, hogy ez a metódus az összes olyan gyerekelemet visszaadja, ami az adott (nálad épp a shipsIndex2 nevű) osztállyal van ellátva, és mindezt egy tömbszerű szerkezetben fogod megkapni. Tehát nem is használhatsz olyan szintaktikát, ami egyetlen elemre vonatkozik. Akkor sem, ha csak egyetlen találat van.
Magának a metódusnak a nevéből (getElementsByClassName) is igen jól látszik, hogy ilyen viselkedésre lehet számítani - ott a többesszám.
Ezenkívül abból is, hogy az általad mutatott screenshoton látható konzolon is szögletes zárójelek között van az az egy elem, amire illeszkedett a keresésed.
Tehát minden ilyen esetben, ha a fene fenét eszik is, és csak egy elemre illeszkedett a keresésed, akkor is valamilyen tömbszerű szerkezetben fogod megkapni azt az egy találatot is, ennek megfelelően is kell tehát elérni.==============
(#5062) Speeedfire :
"A localStorage-et kipróbáltam, de annyira nem jött be."
Hogy érted, hogy nem jött be? Milyen célra?
Amúgy valóban nem egy szofisztikált valami, de alapvető dolgokra bőven elegendő lehet.Nem láttam se gyorsabbnak, se egyszerűbbnek, mint a js változókat. Alapvetően ajax kérések válaszát tároltam el benne.
-
Speeedfire
félisten
-
Speeedfire
félisten
Kliens oldali db-re tudnátok ajánlani valamit? Látom van egy pár, de nem ismerem őket.
-
Speeedfire
félisten
Én a codeschool oldalán tanultam angular-t. Az első videó anyag ingyenes, a második már fizetős. Szerintem nagyon jó. Illetve, ha a 2.-at végigcsinálod, akkor kapsz egy ~2 órás anyagot, ahol teljesen bemutatják egy kész működő kód elkészítését.
Nekem nagyon bejött.
-
Speeedfire
félisten
Meggyőztetek.
-
Speeedfire
félisten
"Egyszerű és nagyszerű, meg sem fordult a fejemben, hogy 'id'-ra tegyem a formázást..."
Még jó is, hogy nem fordult meg a fejedben, mert illik sokkal általánosabban megoldani az ilyesmit, nem pedig id-vel szórakozni, és ezzel kb. örökre rögzíteni, hogy melyik elemet is fogod buzerálni. Vannak esetek, amikor ez nem számít, de többnyire mégis.Amúgy örülök, hogy nálad működik a "javított" demó, mert nálam konkrétan semmit nem csinál, igaz, összesen 5 másodpercnyi időt töltöttem a kipróbálásával, nem próbáltam elgondolkozni, mit csinál és mit kellene csinálnia.

Ezt nem igazán értem, miért baj a specifikus megoldás? A legtöbb esetben nem általános alkalmazásokat fejlesztenek, hanem egyedit.

-
Speeedfire
félisten
Én lehet valami olyasmi módot választanék rá, ami nem background-image-t használ hanem, olyasmi mint a carousel. Ott akár lehetne slideUp(), slideDown() effektet használni akár. Vagy show('slow'), hide('slow') effektet. Nem tudom milyen most az oldal felépítése.
-
Speeedfire
félisten
Sziasztok!
Egy kis segítségre lenne szükségem, hogy merre induljak el.
Vagy egy divem, aminek a hátterét szeretném változtatni, másik thumbnail div-re való kattintástól függően.
Addig eljutottam, hogy jó lenne a div class-t változtatni és annak függvényében, más css töltődik be rá. De ez a toggleClass nem épp úgy csinálja , ráadásul jó lenne, ha esetleg valami átmeneti animáció is lenne képváltogatás közben.Ilyen, de ugye ez így nem vállalható, csak nem tudom, hogy mit lenne érdemes még megnézni.
[link], css-el meg adsz neki animációt.
-
Speeedfire
félisten
Backbone js-el érdemes foglalkozni? Angular-ból megcsináltam 2 kurzust, nekem nagyon bejött. Ha hasonló a backbone, akkor azt is végigtolnám.

-
Speeedfire
félisten
Cikkre/könyvre vagy bármi hasonlóra lennék kíváncsi, ami bemutatja egy oldal felépítését/működését. Kezdve a belépéstől, az adatok olvasása/írása részig.
-
Speeedfire
félisten
Mivel külön node.js topicot nem találtam emiatt itt kérdeznék rá, hogy ismer-e valaki ebben a témában valami esettanulmányt, ami egy egyszerű app-on keresztül bemutatja, hogy érdemes/kell fejleszteni ebben.
A codeschool-on volt 2 lecke is, egy sima node.js és egy express,js is. Ezeket végignyomtam, de nem mentek bele a részletekbe. -
Speeedfire
félisten
Ha dátumról van szó szövegesen, akkor mindig az ISO 8601 formátummal próbálkozzál, a legkevesebb nyűg valószínűleg azzal lesz. ECMAScript 3-ban nem volt szabványosítva a mező formátuma, ECMAScript 5-ben egyértelműen szerepel az ISO 8601 támogatás szükségessége. A legtöbb böngésző történelmi okok miatt az MDN-en szereplő RFC2822 formátumot is támogatja, de ezenkívül bármi más esetében már érhet meglepetés.
Köszi!

-
Speeedfire
félisten
IE alatt sem megy. Ezért nem kell egyedül fejleszteni, vagy ha már egyedül fejlesztesz, akkor kapásból több böngészőn végigkattintani, hogy legalább a legnyilvánvalóbb böngésző problémákat elkapd.
Én pl. pont ezért nem fejlesztek egyedül. Én IE-re esküszök (tudom beteg vagyok), a kollégák meg FF-re, Chrome-ra. Így aztán az elkészült kódot kb. rögtön ki is próbáljuk már fejlesztés közben is mindhárom fontos böngészőn.Projekttől függ, hogy mennyien dolgozunk rajta. De se nekem, se munkatársamnak nincs ie-je (mac, linux). Általában ami chrome alatt fut az fut FF alatt is. A hét tanulsága, hogy k*rvára nem. Ez a szabványrendszer lehetne egy kicsit jobb, keresztplatform ide vagy oda...
Mindegy, ezek után FF alatt is megnézem a kódomat.
-
Speeedfire
félisten
"Ahol ez a dátum bekérés van az üzleti igény az volt, hogy ebben a formában kell bekérni a felhasználó születési idejét. Gondoltam, akkor egyből elfogadja így."
Bocs, ezen felröhögtem. Mert az egységsugarú megrendelő nyilván tisztában van vele, hogy a különböző böngézők mit tudnak, és mit nem...

Ez a gond, hogy az egységsugarú fejlesztő sem tudta ezt.

Ez van, mindig tanulok valamit. Chrome alatt szoktam fejleszteni és FF alatt ezeket nem próbálom ki, még jó, hogy a tesztelő csapat elkapta a hibát és nem ment ki a prod szerverre.
-
Speeedfire
félisten
"Érdekes, hogy rohadt sokféleképpen elfogadja, de így nem"
Igazából annyira nem meglepő, különböző böngészők különböző módon implementálhatnak dolgokat, vagy épp nem implementálják, főleg pl. nem szabványos dátumformátumot nem kötelező, hogy minden böngésző parse-oljon; a Firefox az általad használt "YYYY.MM.DD." (még pont is van a legvégén!) dátumformátumot pont nem "fogadja el". Lehet ilyesmire library-t is használni, hogy cross-browser módon használhatók legyenek egyéb formátumok is (pl. a DateJS segítségével az "YYYY.MM.DD" (figyelem, itt nincs pont a legvégén, pl. 1925.11.11) formátumot is használhatod, Firefoxban, Chrome-ban, Operában és IE-ben is működni fog), de érdemes inkább eleve a megszokott(abb)/szabványos formátumokat felhasználni (ez szerveroldalra és kliensoldalra egyaránt igaz).Ahol ez a dátum bekérés van az üzleti igény az volt, hogy ebben a formában kell bekérni a felhasználó születési idejét. Gondoltam, akkor egyből elfogadja így. Mindegy a fenti módszerrel már megette.

Szerk.: Első körben én is a megszokott "-" jellel akartam bekérni.

-
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.
-
Speeedfire
félisten
Miért lehet, hogy Chrome alatt megy, de FF alatt nem? [link]

-
Speeedfire
félisten
Tudnátok ajánlani egy jól felépített, példákat tartalmazó, magyar vagy német nyelvű Javascript könyvet, jegyzetet, ami elsősorban kezdőknek szól, de "komolyabb" szintre is el lehet vele jutni a végére?
Nézegettem amazonon ilyen összefoglalós felépítésű könyveket, ezt találtam pl, tanult már valaki ezen kiadó könyveiből, tapasztalatok?
JavaScript-kurz-gut-David-Flanagan
Nem hiszek az ilyen "Tanuljunk meg 24 óra alatt... " és hasonló féle könyvekben, azért keresnek egy igazán jót, és elismertet Javascript témában. Az általam találtak jó értékeléseket kaptak, de sajnos én még nem ismerem ezeket, és nem tudom, hogy érdemes lenne-e megvennem.
Én a codeschool-t ajánlom. Van kb 4 kurzus js-re. Ha sajnálod rá a zsetont, akkor van hell pass is 2 napra.
-
Speeedfire
félisten
1: TIL, jsfiddle-ön működik az emmet

Nem tudom, hogy ez e a problémád, de én pont tegnap futottam bele event delegation-nél:
Meg kell jegyeznem, hogy nekem sem volt intuitív a vessző

megj: kipróbáltam FF-on is, nincs semmi warning, csak simán nem mükszik, szóval más lesz a probléma, ezen felül..
Holnap ki is próbálom, hátha. Ez a vessző dolog nekem is új, nem akkor kell vessző ha felsorolás van?


Sk8erPeter: Ha az adott elemre kattintok az eseményfigyelő után jön a warning.
-
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
"Egy darab van pedig belőle."
Egy darab azonosítót használsz az egész oldalon?

Mondom, próbáld meg másik jQuery-verzióval, legalább kíváncsiságból, semmi mást nem változtatva, hogy ott is előfordul-e a hibajelenség. Annyira nem elképzelhetetlen, hogy valamilyen probléma csak Firefox alatt jön elő, rákeresve az "Empty string passed to getElementById()" hibaüzenetre sokaknál FF-hez kötődő probléma volt. Fura a hibajelenség, mert ennyiből belső implementáció hibájának tűnik (aztán lehet, hogy nem, de próbáld má' ki másikkal
)."Azt próbáltam már, de nem hozott eredményt"
Hogyan próbálkoztál?Hétfőn ki is próbálom, hétvégén nem dolgozok.
![;]](//cdn.rios.hu/dl/s/v1.gif)
"Azt próbáltam már, de nem hozott eredményt"
Hogyan próbálkoztál?Amelyik inputnál dobálta ezt a hibát, ott teleraktam breakpoint-okkal. Ami érdekes volt, hogy az esemény után dobta ezt a hibát, nem közben.Holott utána már semmi mást nem hívok meg. Vagy nem tudok róla és munkatársam bedrótozott oda valamit.

$('#container').on('click', 'valami', function(e){
//funkciók, hiba nélkül
});
//itt pedig már dobta is a warning-ot -
Speeedfire
félisten
Egészen biztos, hogy egy azonosítóból csak egy darab van a megjelenített oldalon? Itt valaki azt írja, hogy azt tapasztalta, hogy FF-ban akkor keletkezik ilyen hiba, ha ugyanazzal az azonosítóval több elem is el van látva, ami persze kerülendő. Nem tudom, ez-e a probléma, lehet, hogy nincs köze hozzá, de csak egy tipp.
Következő tipp az lenne, hogy hátha valami furcsa bug jelentkezik Firefox esetén, esetleg próbálj meg egy másik jQuery-változatot. Aztán egyéb oka is lehet, most hirtelen ennyi jutott eszembe.Egy darab van pedig belőle. Mondjuk igazából csak warning, nem error csak ff alatt látom, hogy szemetelget a konzolba.

fordfairlane: Azt próbáltam már, de nem hozott eredményt. Lehet megnézem majd egy másik jquery-vel is, hátha ott nem okoz már ez gondot. -
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. -
Speeedfire
félisten
Firefox alatt van olyan opció, hogy lássam a js hívási láncot?
Chrome alatt, ha js hiba van, akkor látom, hogy mi mit hívott meg. FF alatt viszont csak ennyit látok.A getElementById() üres karakterláncot kapott. jquery-2.1.1.min.js:2
De, hogy mi hívta ezt meg, milyen adattal azt nem tudom. Chrome alatt természetesen nem jelentkezik a hiba.
-
Speeedfire
félisten
Szia. Ha mindenképp by-hand akarod csinálni a dolgot, és nem akarsz használni MVC framework-öt, akkor -és itt most meg kell sajnos jegyeznem, hogy magamtól még nem csináltam MVC-t itthon- én kb így állnék neki.
https://github.com/jim-y/js-mvc
Annyi, hogy a view szerintem ebben a példámban eléggé sántít, ha ilyet csinálnék, akkor például a view az MVC-ben React lenne, vagy minimum Handlebars, a controller maradna VanillaJS, a model-t pedig a backendről szedném mondjuk egy NoSQL datastore-ból. Persze ha nem használnék mondjuk ember-t

"Én úgy tudom, hogy "funkció alapú osztályt", csak prototype-al tudom bővíteni, de lehet én tudom rosszul."
Hát megmondom őszintén ezt én sem értem, nem csak martonx.

A prototypeal egy JS típushoz tudsz példánymetódusokat adni.
Nem szándékozom saját MVC-t írni, egyszerűen csak próbálom megtalálni a megfelelő struktúrát egy js app-hoz.

Köszi a prototype példát.

Arra gondoltam, hogy a model1-et egyszerű bővíteni a mode1.megvalami-val, de a model2-t már csak prototype-al lehet.var model1 = {
valami: function() {};
};
model1.megvalami = function() {};
var model2 = (function(store) {
var view = {};
view.store = function() {};
view.getProducts = 'product';
store.viewModels = view;
return store;
}(window.store || {}));
martonx: Félreértesz. A store.viewModels csak egy konténer lenne a többi viewModels-nek.
De közben rájöttem, hogy single page app alatt valóan elég egy viewModel (ko alapokon), ami a "controller". -
Speeedfire
félisten
Egyrészt nem értelek mit szeretnél, mi a problémád? Nem lehetne valahogy az alapoktól kezdve, mi lenne ez a program, mi a szerepe a ko-nak benne, kb. hogyan strukturálnád a ko-t, leírnod, hogy mit is szeretnél?
Másrészt kizártnak tartom, hogy e témában bármi is legyen a problémád, ahhoz prototype-ot kellene használnod.
Egyrészt nem értelek mit szeretnél, mi a problémád?
A 2.-dik példa bővítése a kérdés több fájlból. Van egy fő fájl, amihez behúzom a modulokat, ezt a részét nem tudom, hogy lehet megoldni.Nem lehetne valahogy az alapoktól kezdve, mi lenne ez a program, mi a szerepe a ko-nak benne, kb. hogyan strukturálnád a ko-t, leírnod, hogy mit is szeretnél?
A program egy dummy program lenne, hogy hogyan épül fel egy "nagyobb" single page app, sajnos ilyen tutoriálok nem nagyon vannak neten. Codeschool oldalon kipörgettem 4 js tanfolyamot is, de csak kis példák vannak benne.
A ko úgy kapcsolódik ide, hogy az oldal teljesen dinamikus lenne, ha valamire kattintok, módosítok, akkor az oldal többi része is módosuljon.
Jelenleg volt/van egy kisebb projektem, ahol jquery-vel több 100 sor az on(), trigger() függvény, ezeket pedig egy ko-val egyszerűbb lenne felépíteni.A ko struktúra nagyjából úgy lenne, hogy lennének a modeljeim, amiben leírom, hogy milyen attributumok vannak az adott modelben, validációk, összetett attributumok.
Illetve lennének mellette a viewModel-ek, amik a megjelenítést befolyásolják. Itt lennének a fenti példából kiindulva egy fő store modell, ami lényében az index action lenne. Ezt látja ha belép az oldalra és nem csinál semmit sem. Ezen kívül lenne mondjuk egy kosár, meg details megjelenítés is. A details alatt mondjuk hozzászólások.Másrészt kizártnak tartom, hogy e témában bármi is legyen a problémád, ahhoz prototype-ot kellene használnod.
Én úgy tudom, hogy "funkció alapú osztályt", csak prototype-al tudom bővíteni, de lehet én tudom rosszul.Bocs a sok kérdés miatt, de teljesen homály számomra ez a rész.

-
Speeedfire
félisten
Mindenképp külön-külön controllerbe tenném ezeket.
De a fenti még mindig nem tiszta, hogy tudok mondjuk egy másik fájlból úgy controller-t, model-t hozzátenni.
Elvileg funkcióhoz a prototype-al tudok, de ez nálam nem akar menni. Ilyenre gondoltam, de nem akar így menni. -
Speeedfire
félisten
Pont, hogy a 2. megoldástól lesz szépen strukturált a kliens oldal.
Knockoutról beszélünk, ahol nincs definiált controller, mint pl. angularjs-ben, de a fő modelledet fogd fel controllerként, azaz abba húzd meg a többi kis modellt, plusz az eseményeket itt mozgatod. Jim-Y szép példát tett fel jsfiddle-re.Mi van abban az esetben ha mondjuk nekem a single page app, több részből is áll.
Gondolok itt mondjuk a fenti store elképzelésre. Van mondjuk egy ahol látom a termékeket, egy ahol a termék adatlapja van, egy a megrendelésről. Ezeket mind egy db controller-be tegyem bele?
Külön szeretném szedni mindenképp a modelleleket és a controllereket (viewModel).Php model szemlélettel (fenti általam mutatott js kód) szeretném megoldani, ami nem biztos, hogy jó megoldás, de egyelőre ezt találom átláthatónak.
-
Speeedfire
félisten
Példa1: azt szemlélteti, hogy felesleges a return ha így használod.
Példa2: Ahogy én csinálnám. Nem azért mutatom, mert, hogy ez a követendő, csak szerintem ez átláthatóbb
Példa3: ez kb így nézne ki CommonJS-ben (node, browserify, webpack), nem kipróbált példa!
Példa4: és így require-el. Ezt sem próbáltam ki.Most még jobban belekavarodtam.

Az 1. példában ezek szerint valóban nincs szükség return értékre.
A 2. példában nem lesz átláthatatlan, ha sok osztály van a store alatt? Mert itt lényegében létrehozod a store golobális változót, majd mindent alá pakolsz. Vagy ilyenkor prototype-ot használsz?
A 4. nem tűnik rossznak, a require-t, amúgy is használni szeretném idővel.
-
Speeedfire
félisten
Szerintem nem kell ennyire túlbonyolítani a dolgokat, ha kicsi az alkalmazás, egy revealing module pattern, azon belül meg valahogy strukturálni a dolgokat. Ha nagyobb az alkalmazás akkor pedig úgyis
CommonJS (pl browserify, webpack), AMD (requirejs), vagy ES6 lesz a befutó.
De ha írok egy funciót, ami egy másik funckióban van és vissza kell térnem valamivel, hogy publikus legyen az a metódus. Vagy nem?
Ezt sajnos nem tudtam értelmezni

De ha nagy az alkalmazás, akkor is szükség van névterekre vagy nem?

Erre gondoltam:
store.viewModels.store = function() {
var view = this;
view.products_list = ko.observableArray([]);
view.selectedProduct = ko.observable(false);
view.selectedProductsData = ko.observable(null);
view.selected_image = ko.observable(0);
view.gallery = ko.observableArray();
view.getProducts = function() {
$.ajax({
dataType: "json",
url: 'js/products.json',
success: function (data) {
//view.products_list(data);
view.products_list($.map(data, function(item){
return new store.models.product(item);
}));
}
});
};
view.goToProduct = function (product) {
$.ajax({
dataType: "json",
url: 'js/product.json',
data: {
"product_id": product.product_id
},
success: function (data) {
view.selectedProductsData(data);
view.selectedProduct(true);
view.setGallery();
}
});
};
view.setSelectedProduct = function () {
view.selectedProduct(false);
view.selectedProductsData(null);
};
view.setGallery = function () {
var gallery = [];
var product = view.selectedProductsData;
gallery = $.map(product().gallery, function(item){
return new store.models.Gallery(item);
});
view.selected_image(gallery[0]);
view.gallery(gallery);
};
view.setSelectedImage = function (image) {
view.selected_image(image);
};
return view;
};Nekem ez jobban bejött, mint pl amikor a functiók vannak a return értékben. Vagy a return-ben hivatkozok a private metódusokra.
Az require lesz a következő, aminek neki szeretnék esni. Csak ezt a pure js-t helyre kell még raknom.

-
Speeedfire
félisten
Szia!
//namespace
(function(){
store.models = {};
store.routes = {};
store.utils = {};
store.viewModels = {};
})();Ennek semmi értelmét nem látom. El tudnád magyarázni, hogy miért kellett az iffy?
Lehet, hogy itt ezt láttad, hogy a this-t milyen jó is használni, és tényleg jó, ha valaki 100%-osan tudja, hogy mikor mit jelent, de az én személyes véleményem a témában, hogy amikor meg lehet kerülni az explicit this használatát, akkor érdemes mást használni helyette. Megjegyzem ezzel a szemlélettel nem vagyok egyedül. Rendkívül error-prone lesz tőle a kód.
Az n+1-edik tutoriálban láttam hasonlót, ahol a namespace-eket előre felvette. Sok értelme nem hiszem, hogy van.

De ha írok egy funciót, ami egy másik funckióban van és vissza kell térnem valamivel, hogy publikus legyen az a metódus. Vagy nem?

Lehet nézegetnem kellene még a pattern-eket. Az a baj, hogy komplett alkalmazás pattern-t nem láttam még seholsem.
-
Speeedfire
félisten
-
Speeedfire
félisten
Most fejből dobom ide, én ilyesmit szoktam használni:
function model() {
var self = this;//Ez privát
var privateApple;//Ez publikus
self.publicApple = "valami";//Ez privát
function privateTest(){
};//Ez publikus
self.publicTest(){
};return self;
};Így minden, amit a self-re felfűzök az publikus lesz. Ami meg nincs a self-en az privát. Szvsz ez az egyik legletisztultabb módszer. És persze ezt lehet megfűszerezni IIFE-vel, vagy Singleton pattern-nel, mikor melyik a célszerűbb.
Tudnál mutatni egy példát ezzel az IIFE-be ágyazva?
-
Speeedfire
félisten
A könyv végén azért ott van, amit kerestem.

var namespace = namespace || {};
// here a namespace object is passed as a function
// parameter, where we assign public methods and
// properties to it
(function( o ){
o.foo = "foo";
o.bar = function(){
return "bar";
};
})( namespace );
console.log( namespace );;(function ( namespace, undefined ) {
// private properties
var foo = "foo",
bar = "bar";
// public methods and properties
namespace.foobar = "foobar";
namespace.say = function ( msg ) {
speak( msg );
};
namespace.sayHello = function () {
namespace.say( "hello world" );
};
// private method
function speak(msg) {
console.log( "You said: " + msg );
};
// check to evaluate whether "namespace" exists in the
// global namespace - if not, assign window.namespace an
// object literal
})( window.namespace = window.namespace || {} ); -
Speeedfire
félisten
Szia, csak siman rosszul hasznaltad.
Itt egy javitott verzio. [link]
Es mindjart linkelek megegyet, addig is, hasznos olvasmany. Addy Osmani - JavaScript Design Patterns
Egyebkent amit te is hasznalni probaltal, es amit en is linkeltem, az a Self Revealing Module Pattern ez egy eleg surun hasznalt pattern a tobbihez kepest.
Igy lehet levedni a kulso scope-bol jovo valtozokat. [link]
Na, akkor én már az elején egy rossz pattern-t néztem ki. Ahol ezt láttam ott az immediately-invoked function-al építi fel a namespace-el az objektumokat. De nálam ez nem ment.
Maradok akkor az általad linkelt verziónál.
Köszi a linket, átolvasom.

-
Speeedfire
félisten
-
Speeedfire
félisten
Egyáltalán nem volt átlátható.

Kipróbáltam a knockout-ot, mert főnök azt mondta mennyi jó. 1 hét alatt kellett megoldani a projektet (ko tanulással együtt) és ez lett belőle...működött meg minden, csak...
Lehet adnom kellene neki még egy esélyt az újabb ko-val és átnézni a teljes doksit hozzá.
-
Speeedfire
félisten
Összetett adatmodelleknél valóban gázos volt a knockout vagy te szervezted rosszul a kódot? Pl. egyik legnagyobb eltérés a ko vs angular között, hogy ko alatt úgy szervezed a kódod ahogy akarod. Az angular viszont sokkal jobban belekényszerít az adott homokozóba.
A legutóbbi angularjs-es projektem több hónapig tarott. Végült most hagy ne számoljam meg, de több tucat js file-ból és fogalmam sincs hány ezer / tízezer kódsorból áll.
Ugyanilyen nagyságrendű ko-s projekteken is szoktam dolgozni.
Megnéztem az általad belinkelt tutorialt, erről beszéltem. Ilyen szinten még minden szép és jó.
"és kiegészítőket kellett leszedni hozzá" - ko-hoz kiegészítőt kellett leszedned? Miért angular-hoz nem kell? Ok, routingot és DI-t valóban tud az angular alapból, de ezeket a komponenseket bármikor ko mellé is oda tudod tenni.
Elképzelhető, hogy én szerveztem rosszul, nincs kizárva.

Alapvetően én a visszakapott json adathalmazt egy változóba tettem bele.var AppViewModel = function(data) {
var self = this;
self.available = ko.observableArray([1,2]);
self.dataSource = ko.mapping.fromJS(data);Én mondjuk nem vagyok nagy js-es, nekem olyan max 2k lehetett eddig a legnagyobb kód jquery-ben. Viszont van egy új projekt, ahol annyi mindent bind-olok már jquery-vel, hogy valami másikat használnék a jquery helyett.
"és kiegészítőket kellett leszedni hozzá" - ko-hoz kiegészítőt kellett leszedned? Miért angular-hoz nem kell? Ok, routingot és DI-t valóban tud az angular alapból, de ezeket a komponenseket bármikor ko mellé is oda tudod tenni.
Konkrétan ez a 2 kiegészítő kellett:
- SWITCH/CASE binding for Knockout
- Knockout Mapping plugin -
Speeedfire
félisten
"Ez a planjs nagyon jónak tűnik.
"
Mármint úgy érted, tetszik a plain JS?
(#4316) Jim-Y, (#4319) dqdb :
Jól hangzik, majd kipróbálom, kösz.
dqdb, ezt mennyi idő alatt sikerült összehozni?

Mármint úgy érted, hogy belekötsz mindenbe?

Inkább mondj te is valami okosat a manapság népszerű data-bind-os mvv/mvvm-ekkel kapcsolatban.
-
Speeedfire
félisten
Az angularjs egy agyonhypeolt fos szerintem (pont, mint az almás termékek). Felületesen nézve persze sok mindent tud, és nem is olyan rossz, aztán gyorsan kiderül, hogy ebből is egy kicsit tud, meg abból is, a singleton megvalósítás se feltétlenül nyerő és a többi. Teljesítményben pedig a katasztrofálishoz közelít knockoutjs-el összehasonlítva. Anno komoly knockoutjs tapasztalattal a hátam mögött nekivágtam az angularjs-nek, mert a csapból is az folyt hogy az milyen jó. Aztán pár hét elég volt, hogy kiderüljön, a pistike projektek, meg a tutorialok szintjén tényleg szép és jó, de picit is mélyebb vizekre merészkedve, már nem más mint szopás halom.
Én részemről maradok továbbra is a knockout (egy hónapja jött ki a 3.2-es ami már tudja a komponensek létrehozását, kezelését ala angularjs direktívák) + jquery (ezt mondjuk egyre inkább, egyre könyebben lehet zeptojs-re váltani, vagy plainjs-re) + pagejs (ez csinálja az SPA routingot, kemény 1Kb) kombónál.
Ez nem hangzik túl jól.

Amikor a knockout-ot próbálgattam, akkor még a 2.2-es verzió volt fent. Egyszerű dologra jó volt, de összetett adatmodellnél még gázos volt és kiegészítőket kellett leszedni hozzá. Sebességben nem veszek észre semmit, gyorsnak tűnik a codeschool példa.
Milyen nagyobb projektre gondolsz? Vagy mi volt az amit meg akartál valósítani benne, de nem tudtad csak körülményesen?Ez a planjs nagyon jónak tűnik.

-
Speeedfire
félisten
Ki milyen js libary-t ajánl? Most az anjular-ral kezdtem el ismerkedni, egész jónak tűnik. Jóval többet tud, mint a jquery és a knockout együtt.
-
Speeedfire
félisten
-
Speeedfire
félisten
Hogy tudnék összerakni ezekből egy UTC időbélyeget másodpercekben?

new Date().getTime() //a helyi időt adja vissza;
Date.UTC() //ezt meg fel kell tölteni adatokkal, de fogalmam sincs, hogy vajon a helyi időt adjam át neki? Próbáltam a getUTCxxx elemekkel - elég sokáig tartott bepötyögni -, de NaN-t kaptam csak.var d = new Date();
var date = Date.UTC(d.getFullYear(),d.getMonth(),d.getDate());
//a hónap 0-11 formában van -
Speeedfire
félisten
köszi!
igen, ott nincs is gond, viszont a chrome motoros alkalmazásban (ahol használva is van/lenne) meg azzal is kétszer írja ki sajnos. mindennel. mouseout is dupláz, ha lehúzom a kurzort.
megpróbálom akkor hogy indexet növeljen ha már kiírta egyszer, és a másodikat tiltsa le egy után. bár ez elég hülyén fog kinézni...mod: hát így is kétszer írja ki

var alma = 0;
if (alma <1) {
$(...)mouseenter(function() {
alert();
});
alma++;
}Mi a valós, rendes kódod? Lehet, hogy valahol még van rá valami event?
-
Speeedfire
félisten
Ez biztos? Csak, mert nem kellene.
[link]
martonx: Szerintem meg rosszul látod. Ez egy fórum, ahol általában a segítés az alapvető dolog szerintem, nem mások kritizálása.
Nem vette észre, nagy cucc. -
Speeedfire
félisten
-
Speeedfire
félisten
Kipróbáltam, még az IE8 is "szereti" (meg FF).
Mikre van neked időd.

-
Speeedfire
félisten
Nem kell mást csinálni, mert a hover az a bind-nek egy "rövidebb verziója".

Sk8erPeter: Miért? A hover az egy "bind funkció".
Igen, arra gondoltam.
bind('mouseenter', handler)
bind('mouseleave', handler) -
Speeedfire
félisten
Biztos meg akarta határozni, hogy csak 1 másodperc múlva adjon neki class-t...

Olyan lenne az igazi, hogy lassan adja hozzá a class-t.

-
Speeedfire
félisten
Valahogy sejtettem.
![;]](//cdn.rios.hu/dl/s/v1.gif)
Csak trollkodni jövök ide. Te majd úgyis megírod a frankót.
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Speeedfire
félisten
A hash-t változtasd (# utáni rész az URL végén).
Csináld úgy, ahogy Ben Alman mutatja:
jQuery hashchange event=============================================
(#2920) Speeedfire : ezt ki is próbáltad?

Szerinted?

-
Speeedfire
félisten
Udv!
van egy ilyen kodom amivel kulombozo fajlok tartalmat toltom be slide effect-el egy div-be:
$(function () {
function ajaxify(file){
$.get(file,function(data) {
$("#tartalom").hide('slide', {direction: 'left'}, 1000,function(){
$(this).html(data).show('slide', {direction: 'right'}, 1000,function(){
});
});
});
}
$('#nav li a').click(function(){
$('#nav li a.active').addClass('offline',1000)
$('#nav li a.active').removeClass('active',1000);
$(this).addClass('active');
$(this).removeClass('offline');
ajaxify($(this).attr('href'));
return false;
});
ajaxify('home.php');
});Ugy szeretnem atalakitani hogy a div tartalmanak valtozasaval egyutt valtozzon az url-is.
Ebbe tud nekem valaki segiteni?Elore is koszonom!
Esetleg ez?
location.replace('http://www.url.com/');Vagy esetleg:
window.location.search += urlneve_amivel_kiegeszited; -
Speeedfire
félisten
Sejtettem, csak kötekszem.

Ok, már elég volt ennyi.

Ne offoljuk a topicot. Örülök, hogy kiszórakoztattad magad.![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Speeedfire
félisten
Dehát mé', ő írta: "Ha valaki tud segíteni a problémámon, ne tartsa magában, mert este rosszakat fog álmodni!"
Akkor most mindig álmodjunk rosszakat, mert Te már elmondtad a megoldást?
Na jó, befejeztem az OFF-olást, csak lovagoltam azon, amit írt. 
Ohh lol.
Most esett csak le.
Nem, nem azért segítettem. -
Speeedfire
félisten
Megijedtél, hogy rosszakat fogsz álmodni?

Most akkor mindenki, aki magában tartotta és fogja tartani a megoldást, mert Te már elmondtad, rosszakat fog álmodni, amint elolvassa az előző hsz.-t? Neee!

Hogy mi?

Menj a p*csába.
Ú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
- Honor 200 Pro - mobilportré
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Garancia kérdés, fogyasztóvédelem
- Elektromos autók - motorok
- Apple MacBook
- Parkside szerszám kibeszélő
- Androidos fejegységek
- Gaming notebook topik
- Autós topik
- Okos lesz a következő szemüveged
- További aktív témák...
- Apple iPhone 13 Pro Max 256GB eladó! 85% akku, patika, 12 hó gar
- Apple iPhone 14 128GB eladó! 85% akku, használt állapot, 12 hó garancia
- Samsung S24 + ajándék belkin töltő
- Apple iPhone 14 128GB eladó! 85% akku, megkímélt állapot, 12 hó garancia
- Apple iPhone 14 128GB eladó! 89% akku, szép állapot, 12 hó garancia
- Intel Nuc M15 Core i5 1135G7 512Gb NVMe SSD 15,6" IPS Érintőkijelző Boltból Garanciával
- iKing.Hu - Apple MacBook Pro 16 M1 Pro (2021) 32GB/512GB szép állapot 91% akku 111 ciklus
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Apple iPad Air 7th gen. 13' 128GB (2029.02.09-ig Garancia) Csak kibontva volt, Aktiválatlan!
- Okosóra felvásárlás!! Apple Watch Series 6/Apple Watch Series 7/Apple Watch Series 8
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest












(just kiddin') Kérdezzzzz, most!!!444NÉGY







