- MasterDeeJay: Alacsony fogyasztású házi szerver a korábbi projektekből összeépítve
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- Argos: Adjátok vissza a netet! - szeretnék elaludni!
- Geri Bátyó: Megint tahó voltam – SZEMÉLYISÉGFEJLŐDÉS
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- btz: Internet fejlesztés országosan!
- eBay-es kütyük kis pénzért
- bambano: Bambanő háza tája
-
LOGOUT
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
^Boss
őstag
válasz
Sk8erPeter #4699 üzenetére
function OnSuccess(response) {
$("#cel").empty();
$("#cel").append("<table id=\"my_table\"> <tbody> <tr class=\"path\"><td colspan=\"6\">elérési út: "+response.Path);
$("#cel").append("<tr class=\"title\"><td>Név</td><td>Létrehozás</td><td>Módosítás</td><td>Tulajdonos</td><td>Verzió</td><td>Méret</td></tr>");
$.each(response.Properties, function (index, prop) {
var txt = [
"<tr class=\"data\"><td>",
prop.Name,
"</td> <td>",
prop.CreationDate,
"</td> <td>",
..........
"</td></tr>"
];
$("#cel").append(txt.join(''));
});
$("#cel").append(" </tbody></table>");
}
</script>ez a kód olyat produkál, hogy az első rész utániak már a táblán kívül keletkeznek:
<table id="my_table">
<tbody>
<tr class="path">
<td colspan="6"></td>
</tr>
</tbody>
</table>
<tr class="title"></tr>
<tr class="data"></tr>
<tr class="data"></tr>ez lenne a probléma. valószínűleg ezért van egy fehér helyköz a tábla első sora, és a többi sora között, valamint a colspan sem működik, nyilván ezért.
ötletek?a másodikat köszönöm szépen, ezalapján menni fog a mouseover-rel is
-
Sk8erPeter
nagyúr
1. Nyilván megoldható, de honnan kéne tudnunk, jelenleg milyen megoldást használsz, mit kapsz szerveroldalról, stb., hogyan korrigáljuk a hibádat az általad alkalmazott módszer ismerete nélkül?
2. document.querySelectorAll használatával tudsz selectorra szűrni (tehát ehhez nem kell jQuery sem), aztán kikeresed a megfelelő elem indexét a tömbből, például - mostani agyi állapotomban rövid idő alatt ennyire tellett -:
http://jsfiddle.net/ssdptwtb/
(Jim-Y: vigyázz, anti-pattern, mert két darab return is van a függvényben, jujjujj.Aztán még biztos találsz más antipatternt is.
)
BTW jQuery-vel, a .index() használatával ez picit rövidebb.
-
dqdb
nagyúr
válasz
nova001 #4696 üzenetére
A megoldás egyszerű: felülírod az oldalon a beépített XMLHttpRequest objektumot, legalábbis annak a send() metódusát. Itt van rá egy példa, de léteznek XHR mockup könyvtárak is, ahogyan az általad is említett jasmine-ajax is alkalmas lehet erre.
De ha ennyire offline kell működnie az oldalnak, akkor miért a jquery.com-ról töltöd be a jQuery-t, és nem helyi fájlból?
-
nova001
senior tag
hello
van egy kis problémám
használok egy oldalon scriptet ami betöltene egy topmenu.html-t, de persze chromeba nem jo, csak firefoxba engedi local filet meghivni. kérdésem hogy valahogy nem lehet megkerülni ezt a xmlhttprequest dolgot??
jasmine jquery nem jó erre ?csatolok pár képet a hibárol
http://kepfeltoltes.hu/141214/1230236937b_www.kepfeltoltes.hu_.png
http://kepfeltoltes.hu/view/141214/a_www.kepfeltoltes.hu_.png -
^Boss
őstag
Sziasztok!
összetettebb kérdés:
volna egy futás közben ajax-szal frissülő oldal. a probléma a következő:
ami még betöltés elején, egyből megjelenik table, az külön van a hozzá appendelt table elemektől.
példa:
betöltéskor: <table> <tr> ...... </tr> </table> <- ez lesz betöltés után, pedig én azt szeretném, hogy ne zárja le a table-t, vagyis hogy legalább frissítéskor ez olyan formában legyen, hogy a ...-be kerüljön BELÜLRE az új adatsor. jelenleg a /table tag után jön, újranyitott <table> tag nélkül, <tr> tag-ek közt. megoldható ez valahogy?másik:
szeretnék a table sorainak aktuális indexével számolni. hogyan tudom ezt lekérni úgy, hogy annak a tr-nek a sorszámát adja meg egy adott osztályon belül (ne az összes tr-t nézze, csak egy bizonyos osztályba tartozóak (class="xxx")), amelyikre korábban rákattintva egy custom jobb gombos menü jött be? (ilyenkor ha a custom menüben elmegyek afölül az elem fölül, akkor változik az érték, vagy mivel nincs focusban a lap, ezért ezzel nem kell foglalkoznom, és ahol zajlott a katt, az marad az érték?)köszi
-
Sk8erPeter
nagyúr
Na várj, a kérdéseidből ítélve úgy látom, hogy az objektumorientáltságnak az alapjaival sem vagy még (eléggé) tisztában, szóval jobban utána kéne olvasnod az OOP-nek (meg annak, hogy mondjuk miért jó, ha valamiből több példányod is lehet), most végül is mindegy, melyik nyelven, bár az is igaz, hogy erre pont nem a JavaScriptet tartanám a legjobb nyelvnek...
Egyébként amiről te beszélsz, az kb. annak felel meg, hogy van egy osztályod, statikus attribútumokkal és metódusokkal, amiket példányosítás nélkül meg tudsz hívni, és babrálsz velük.
Ezekre is bőven van példa magában a JavaScriptben is. De ha több különálló példányt is szeretnél létrehozni, mert azokat külön szeretnéd kezelni, akkor ez már nem elég."jQuerynél miért kell azt példányosítani?"
A példányosításnak semmi köze nincs a jQuery-hez. Erre is a válasz az, hogy nézz utána, miért jó bármiből is több példányt létrehozni. -
Zedz
addikt
Húú igen, elfelejtettem megjegyezni, hogy kifejezetten weboldal készítésre gondoltam. Nemrég használtam egy JS-es galéria nézegetőt, megnéztem a kódját és ott is contructor objectet használ az illető.
jQuerynél miért kell azt példányosítani? Pl. nem lenne elég egy object literál függvényeit használni?
(#4691) Sk8erPeter Írni akarok egy olyan eszköztárat, amit a jövőben több oldalnál is fel tudok használni. Mondjuk ha csak validálni akarok egy formot, akkor mondjuk meghívom az app.validator-t, átadom a megfelelő értékeket és végzi a dolgát. És itt merült fel bennem a kérdés, hogy az "egyszerűbb" weboldalaknál miért kellene nekem constructor objektumot írnom? Pedig ahogy elnézem a frameworkök, előre megírt pluginok is ezt preferálják.
-
Sk8erPeter
nagyúr
"ahogy így belegondoltam majdnem mindenre elég a sima object literal"
Dehogy elég. Az object literal pont egy elég rossz példa volt. Például kapásból ha értelmesen szeretnél több példányt létrehozni klónozások, meg mindenféle baromkodások nélkül, akkor máris korlátokba ütköztél. Mi engedett arra a következtetésre jutni, hogy "majdnem mindenre elég"?Az előző lapon amúgy rengeteg szó volt az objektumorientált dolgokkal kapcsolatos témákról, kb. ezt a tartományt nézd (na meg nyilván az összefoglalót):
http://prohardver.hu/tema/javascript_topic/hsz_4404-4560.html -
Jim-Y
veterán
Pedig sok helyen használják őket, csak lehet te még nem találkoztál velük, magadtól írni pedig valószínűleg még annyira sem.
A JavaScriptet nem csak honlapfejlesztésre használják. A tapasztalaton szerint ha valaki eddig csak a webfejlesztéssel került kapcsolatba akkor elképzelhető, bár érdekes, hogy nem látott még ilyenre példát. De más területeken, ahol JS-t használnak sűrűn elő szokott fordulni. Mondok pár példát:
- Grafika/Játékok: canvas, például kell csinálnod egy Pont osztályt. Vagy egy lövedék osztályt, vagy bármit. Sűrűn előfordul.
- IoT/Nodebots: Johnny-Five | Led class
- jQuery: maga a jQuery is csak egy osztály egy objektuma https://github.com/jquery/jquery/blob/master/src/core.js#L23
- A Promis libek is használják, stb.. QEnnél jobb példák, amik nem az ilyen alap tutorial szintű példák most nem jutnak eszembe
-
Zedz
addikt
Sziasztok,
Kicsit jobban belemélyedtem az OOP JS használatába, azonban felmerült bennem egy kérdés. Ti használtatok már constructor objectet? Ha jól értem ezt szokták akkor használni, hogyha valamiből több példányra van szükségünk. Tudtok erre mondani valami példát? Mert ahogy így belegondoltam majdnem mindenre elég a sima object literal.
-
Jim-Y
veterán
hits.join('')
szerk:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
string.match, string.substr, string.indexOf, string.search, RegExp..stb -
adam_
senior tag
Feladat és leírás itt. Előre is köszönöm az észrevételeket.
Az oktatóprogi céloz is rá, hogy van rá megoldás, de sajnos nem találtam meg.
Think about how you might fine-tune this program to make sure it only finds exact matches for your name. Search the Internet to see if there are any built-in JavaScript string methods that can help!
-
Jim-Y
veterán
Így kód nélkül ezt elég nehéz megmondani. Egyébként tippre az első dblclick esemény kezelője megállítja a propagation-t.
Event bubbling, Event delegation, Event capturing. Ezek mondanak valamit? Csak mert ezekkel kéne tisztában lenned ahhoz, hogy megoldd a feladatot.
Úgy is megoldhatod, hogy ugyanabban a handlerben kezeled le mindkét funkciót.
megj: és hidd el, ahhoz, hogy segíteni tudjunk, ebben az esetben egy jó leírásnál több kell.
Például egy jsfiddle példa jól jönne. Valószínűleg onnantól sima liba lenne segíteni.
-
^Boss
őstag
közben annyit változott a dolog, hogy ha a fileTree-beli mappa katt nem doubleclick, csak sima click, akkor megy a doubleclickre a table frissítése.
de így ugye kissé igénytelen. olyan mód kéne, hogy lefusson a doubleclickre mindkét function, úgy, hogy nem tudom egy helyen megadni sorban, hogy fusson le az első és a második. valamiféle function append/delegate nincs esetleg? -
Cathfaern
nagyúr
válasz
superboyka #4662 üzenetére
Pont azért írtam, hogy ránéztem adatlapodra, mert először én is írni akartam, hogy kicsit nehezen értelmezhető amit írsz, de eszembe jutott, hogy nem biztos hogy magyar környezetben nőttél fel. El tudom képzelni, hogy milyen nehéz lehet úgy megtanulni magyarul, hogy a társadalom nem igazán segíti ezt elő. Szóval max respect, hogy ennek ellenére is próbálkozol vele, és hogy magyar fórumra írsz
-
^Boss
őstag
válasz
Sk8erPeter #4677 üzenetére
elnézést. megpróbálok nekifutni újra. jsfiddlet ebben az esetben nem igazán érné meg összerakni, mert ott természetesen megy, más gond lesz. az egész kódot meg nem szeretném bemásolni, de ezúttal pontosabban fogalmazok.
tehát van egy fileTree mappákat, fájlokat faként ábrázoló cucc. annyit tud, hogyha dupla kattintás van egy mappán, belelép, ha egy másikon kattintunk ismét duplán, akkor bezárja a régit, kinyitja az aktuálisat.
ez egy webről beszerzett félkész megoldás továbbfejlesztése.namost ez egy divben van (fileTree id-vel) elhelyezve.
mellette egy másik divben egy table található, amibe a mappák, fájlok kerülnek, immár attribútumokkal is ellátva, soronként.ami megy: filetree teljesen, de a jobb oldalon lévő részletes nézet egy "frissítés" gombbal frissül csak. ez a probléma, azt szeretném, ha a fileTree egyik listaelemén (ezek vannak benne) kettőt kattintva nem csak betöltené magának a mappa tartalmát, de egyben frissülne a táblám is.
a nehézség, hogy ez egy "behúzott" js fájl, connector scripttel, nem egy aspx-ben van minden, így hiába írnám át a fileTree js fájlát arra, hogy ugyan az én ShowDetails() functionomet futtassa le, ami frissíteni a táblát, nyilván azt sem tudja, miről van szó.
próbálkoztam már a div-re magára ondblclick-re rárakni a ShowDetails()-t, de nem igazán szereti egészen addig, amíg át nem konfigolom a fileTree-t úgy, hogy ne dupla, hanem sima kattra hozza be a mappa tartalmát.
azaz az jött le, hogy 2db dblclick-et nem szeret, vagy az egyik felülírja a másikat. franc tudja. nem vagyok nagyonotthon a javascriptben.
ha valami nem 100%-osan érthető, bármikor "javítom" a leírást utólag
van valami ötletetek? -
-
Sk8erPeter
nagyúr
"Amúgy szerintem ugyanúgy gondoljuk a dolgokat, szóval ez inkább chit-chat, mint veszekedés.
"
Mindig le vagyok döbbenve, hogy emberek mit tudnak "veszekedésnek" tekinteni.(Most nem rólad beszélek, mert te is inkább chit-chatnek látod, de attól még van ez a jelenség.
) Épp ezért van talán, hogy több szakmai topicban is cseszegetésnek veszi egy csomó ember (most inkább nem említenék példákat, annyit segítek, hogy a Weblapkészítés topicban volt mostanság), és azonnal megsértődnek, ha elkezdünk velük vitatkozni, mert mi picit másképp látjuk a dolgokat, pedig ezekből a beszélgetésekből kisülhet valami hasznos is. Most is szerintem csak dumálunk, konstruktívan vitatkozunk, bennem fel sem merült egy pillanatig sem a "veszekedés" gondolata sem.
Viszont ha már "szerencsétlennek" minősíted a példámat, akkor legalább figyelj oda, hogy mi van odaírva.
Egyrészt az, hogy pszeudokód, másrészt pont rossz a "ha ilyet írnék le" rész után írt példád (mondhatnám, szerencsétlen
), mert pont nem azt a példát mutattam, hanem az értékátadósat: tehát az ELSŐ példánál EGYSZER van visszatérés, így a nálad írt egyszeri return smtg-nek felel meg. Az, hogy most booleannel vagy mivel térek vissza, az azt hiszem, egy pszeudokódnál kb. qrva mindegy, főleg, hogy az nem kell, hogy JavaScript-kódnak feleljen meg (akkor helyettesítsd be más nyelvvel, és jó lesz a példa) - itt a helyzet érzékeltetése volt a lényeg, nem gondoltam, hogy ezen a szinten kerül kielemezésre a kód...
A második példának meg pontosan az a lényege, hogy TÖBB return is van: azonnal visszatérek a függvényből, amint jól látható, hogy abban a függvényben már nincs több dolgom, mert pl. valami alapvető feltétel nem teljesül - akkor minek egy óriási indentált else-blokkot fenntartani még, és a return szócskát majd csak AZUTÁN kiírni, miután az a blokk is végre befejeződött, csak azért, hogy a return szócska ne szerepeljen még egyszer, meg azért, mert valami bácsi vagy néni azt mondta, hogy lehetőleg egy darab kilépési pont legyen?
Remélem, érthető.És a korábbi példát továbbra is tartom, mert a lényeget kifejezi, és mivel pszeudokód, nem kell feltétlenül JavaScriptnek, és az itt jellemző booleannel kapcsolatos szabályoknak megfeleltetni, ne csak egy nyelvben gondolkozz.
Ja, várj, még egy: most hogy jön ide a DRY?Azért, mert még egyszer le van írva a return szócska? Ne már...
Meg még a példád kapcsán az jutott eszembe, hogy ilyen alapon az is antipattern, mivel hiba esetén visszatérsz, de ha nincs hiba, akkor nem térsz vissza semmivel, ahogy említetted is, szól is érte az IDE... -
^Boss
őstag
na kicsúsztam a limitből
közben annyit kiderítettem, hogy a fájltree egyes elemein nem megy csak a dolog, ha a semmibe kattintok e filetree boxon belül, akkor oké. tehát ha valami linkelve van, ott van gond. van valami ötletetek? köszönet -
Jim-Y
veterán
válasz
Sk8erPeter #4669 üzenetére
A szekesztésedre: kicsit szerencsétlen a példád, mert ez így stilisztikailag sem szerencsés, de csak a boolean-ek miatt. Belémverték, hogy ha ilyet írnék le, hogy
if (smtg) {
return true;
} else {
return false;
}Az szentségtörés
Helyette:
return smtg;
vagy
return !!smtg;
vagy
return Boolean(smtg);
vagy bármi, csak ne a felső
DRY ugyebár..
Egy jobb példa, amire te is gondoltál, lehetne a node style programming. Ahol a callbackek mindig function(err, result) alakúak.
Például egy mongodb query method nagyszerű példa erre (pszeudo):
function queryUsers(res, req, next) {
Users.findAll({}, function(err, users) {
if (err) {
return next(new InternalError('..'));
}
res.send(users);
});
}Amúgy szerintem ugyanúgy gondoljuk a dolgokat, szóval ez inkább chit-chat, mint veszekedés.
-
^Boss
őstag
srácok, ha van egy function a dblclick eventen, akkor másikat nem fog tudni felfodni a js?! próbálok egy lenyíló mappás, fájlböngészős dolgot úgy kiegészíteni, hogy a duplaklikk az eddigiek szerint lenyissa a tree kiválasztott elemét, DE emellé most jönne az, hogy az egész tree-től függetlenül kiíratom az elemeket egy table-be is, egy másik divbe.
de csak akkor megy az egyik, ha a másik nincs használva, pedig én együtt szeretném.
megoldható?!kieg: nem egy helyen van a két hívás, az egyik mehet akár rögtön a div tag-be, míg a másik egy teljesen másik helyről, futásidőben keletkezik
-
Sk8erPeter
nagyúr
Szerkesztettem közben a hsz.-t egyszerű példakóddal, kukkants rá.
"jobban átlátható lesz tőle a függvény"
Na ez az említett esetben pont nem igaz. Lesz egy bazinagy beljebb tolt else-blokkod, igazából tök értelmetlen, le lehetne rövidíteni, adott feltétel esetén azonnal visszatérhetnél a függvényből, és már ránézésre, kapásból lehetne tudni, hogy annál a pontnál tényleg eldőlt, hogy a kapott adatokkal vagy a környezet adott állása szerint nincs értelme tovább tartózkodni abban a függvényben.Szerintem egy fejlesztőt az tesz igazán jóvá, ha el tudja dönteni, adott kódrészletnél mi lenne az a megoldás, ami valóban áttekinthetővé teszi a kódot: kényszeresen erőlködik, hogy alkalmazzon egy patternt, mert azt mondták, hogy az bizonyos kontextusban igenis hasznos lehet, vagy pedig felfedezi, hogy adott esetre pont nem kell mindenáron ráhúzni.
Sok minta nagyon hasznos, ez is adott kontextusban az tud lenni, de itt sem lehet fekete-fehérre leegyszerűsített általánosságokat kijelenteni. -
Jim-Y
veterán
válasz
Sk8erPeter #4669 üzenetére
Nem, igazából ennek van értelme, bár, ja, kérdéses, hogy mennyi. Leginkább az lenne az értelme annak, hogy egy függvénynek csak egy kilépési pontja legyen, hogy jobban átlátható lesz tőle a függvény. A fejlesztő kognitív terheltsége csökken tőle. http://en.wikipedia.org/wiki/Cognitive_load
Én hiszek abban, hogy az ilyen apró dolgok tesznek egy fejlesztőt jó fejlesztővé. Most nem azt mondom, hogy pont ez. De ha valaki figyel arra, hogy a kódja egyszerű legyen, egyszerűen olvasható legyen, az tesz valakit igazán jóvá.
De amúgy igen, sokszor bullshit áll mögöttük, vagy csak vallási kérdésLehet simán olyan függvény, amiben tök szépen lerövidíti a kódot, hogy egy bizonyos feltétel teljesülése esetén azonnal visszatérsz
Így van, pont ezért írtam, hogy nem mindig lehetséges egy visszatérési pontot írni. Node környezetben ez elég gyakran előfordul. Az IDE mindig szól is érte btw
.. nem mintha EZ számítana ^^ ..
-
Sk8erPeter
nagyúr
Azt írtad, hogy
return "You're getting plenty of sleep! Maybe even too much!";
a
return "You're getting plenty of sleep! Maybe even too much!";
helyett, szóval sztem annyi a para, hogy beleraktál csomó szóközt a stringbe.Szerk.:
(#4668) Jim-Y:
Mármint már önmagában az az anti-pattern, hogy több return is van a függvényben? Sokszor ezek az úgynevezett nagy patternek, illetve anti-patternek szimplán bullshitek.Ez egy jó hülye kitaláció, hogy nem lehet több return egy függvényen/metóduson belül.
Lehet simán olyan függvény/metódus, amiben tök szépen lerövidíti a kódot, hogy egy bizonyos feltétel teljesülése esetén azonnal visszatérsz, és még csak nem is írsz else-ágat, mert nyilván ha nem tért vissza, akkor az else-ágnak minősül (és ez most nem valami alacsonyszintű kód ugye, nem b@szakszunk ilyenekkel), és így megspórolsz egy hatalmas nagy beljebbtolt else-blokkot.Példa pszeudokóddal:
function bullshit(){
if(foo) {
stuff = false;
}
else {
....
....
....
....
....
....
stuff = true;
}
return stuff;
}VAGY:
function bullshit(){
if(foo) {
return false;
}
....
....
....
....
....
....
return true;
} -
Jim-Y
veterán
Szerintem csak elírtad a visszatérő üzenetet, ezt már én is megcsináltam még korábban, és vissza tudtam keresni a kódot:
// Write your function below.
// Don't forget to call your function!
function sleepCheck( numHours ) {
if ( numHours >= 8 ) {
return "You're getting plenty of sleep! Maybe even too much!";
}
else {
return "Get some more shut eye!";
}
}
sleepCheck(10);
sleepCheck(5);
sleepCheck(8);FYI: ez egy kisebb anti pattern, ha minél jobb stílusban akarnánk megcsinálni a feladatot akkor csak egy darab return statement lenne a függvényben. http://jsfiddle.net/fgexxnjo/2/ Megjegyzem, ez nem mindig lehetséges, de törekedni kell rá.
-
adam_
senior tag
Codecademy-n csinálom a JS kurzust, de sajnos az egyik feladatnál most elakadtam, ide belinkelem magát a feladatot is és a JS kódot is: [link]. JS-ben nincs hiba, de valamiért a linkelt oldalon írt hibaüzenettel ("It looks like sleepCheck() isn't returning") nem enged tovább. Mit gondoltok?
-
martonx
veterán
"A rendező kód akor futna le, amikor az összes kép betöltődött, ezáltal tudjuk már a dimenzióit."
Ezen elgondolkoztam, hogy biztos ez a jó megoldás? Miért nem küldöd ki első körben a képek dimenzióit, url-jét, majd azt beillesztve a megfelelő helyekre, szépen lejönnének a képek, mindegyik pont a helyére. -
Köszi!
Amit szeretnék, az a következő:
Van X darab kép. Ezeket szeretném a méretük szerint elrendezni.
A rendező kód akor futna le, amikor az összes kép betöltődött, ezáltal tudjuk már a dimenzióit.Utána nézek a callback-es megoldásnak és a flag-nek is.
Viszont a flag-es megoldás miben különbözik attól, amit én csináltam, vagyis egy globális változó tárolja azt, hogy melyik kép van betöltve? -
Jim-Y
veterán
Szia, kevéssé világos ennyiből, hogy pontosan mit szeretnél elérni, de használhatsz egy modulra/függvényre globális jelölőt (flaget) amit akkor billentesz át, ha minden betöltődött.
Egy másik megközelítés, vagy a fenti megközelítés kiterjesztése, ha reaktívan gondolkozol. Ez nagyjából azt jelentené, hogy akik/amik érdekeltek az összes kép betöltődésében, azok beregisztrálnak egy callbacket például az "összes kép betöltődött" eseményre. Ebben az a jó, hogy az a modul amelyik a betöltést végzi csak gyengén lesz csatolva azokhoz amelyek a betöltődést figyelik.
Vagy használhatod az "alap" megoldást, és callbackeket hívsz meg ha az összes kép betöltődött.
Ezeket itt szemléltetem. http://jsfiddle.net/ygvvs0sm/
Egyiket sem próbáltam ki, így kezeld őket pseudokódokként. üdv
-
superboyka
csendes tag
-
Sk8erPeter
nagyúr
válasz
martonx #4660 üzenetére
A jobbklikkes menü felülkúrása mondjuk egy komplexebb szolgáltatásnál, mint pl. a Google Docs, megbocsátható, sőt, elősegít(het)i a hatékony működést, de amúgy természetesen egyetértek, csak nagyon indokolt esetben szabad ilyet (lásd a Flash-es szutykokat, na ott az esetek 95%-ában csak szimplán idegesítő), különben a felhasználó a webfejlesztő felmenőit nagyon hevesen fogja szidni.
(#4659) ^Boss: sztem nem favicont akartál írni, az más, pl. a böngésző adott fülén látható pici kép.
-
martonx
veterán
A jobb gombra menüt én a helyedben nem erőltetném, weben nagyon idegenül hat, ha a böngészők saját menüjét direktben felülba....od.
Ehhez tutorial? Csinálsz egy táblázatot és beleteszed amit akarsz (mit értesz feltétel alatt? szerver oldalról vagy belerendereled feltétel szerint, vagy kliens oldalon js-el rakod bele), hol kell ehhez tutorial? -
^Boss
őstag
sziasztok!
valaki tudna egyszerű tutorialt az alábbiakra?
-jobb gombra lenyíló menü néhány elemmel, esetleg kis ikonokkal a szöveg előtt
-táblázat első oszlopába kellene feltétel szerint kis favicont betennitudom, túl specifikus a dolog, és ilyen tutorial úgysem lesz, de egy alap tut + egy kis kiegészítő segítséggel is sokra mennék.
előre is köszönöm mindenkinek!
-
martonx
veterán
válasz
superboyka #4653 üzenetére
Ez esetben ismét elnézést. Máskor kezdd azzal, hogy erdélyből vagy, és örülsz ha valaki ki tudja bogarászni amit szeretnél, mert akkor rögtön más lesz a hozzáállás, mint ha az ember azt hiszi, hogy jött egy hülyegyerek, aki nem hogy kódolni, de még írni se tud. De mondom engem az se zavar, ha angolul teszed fel a kérdést, ha az jobban megy, mint a magyar.
-
superboyka
csendes tag
válasz
Sk8erPeter #4655 üzenetére
én is köszönöm annak aki megprobélt segiteni nekem mint az elözö hsz-ban @Jim-Y és még páran megkaptam a számitását a kodnak hogy történik és hogy megmutassam hogy atol miért nem irok helyesen nem azt jelenti hogy hülye vagyok, még nincs teljesen kész de belletettem valemtint és haloovint és jol végzi a js a dolgát ha teljesen kész megosztom velletek is hátha kell vallakinek még. és csak hogy mi volt a kérésem lényege és nem igazán értete meg senki mutattom
var valentin_nap = new Date(parseInt(today.getFullYear()), 01, 22);//datum amikor boldogat kiván
//jan 25.től feb.14-ig
if ( (calculate_valentin>0) && (calculate_valentin<21) )//21 napot számlál ,0 a beirt dátumigtehét oktober 25 töl
{
document.getElementById('unnep').innerHTML = '<br \/><div>Még '+calculate_valentin+' napot alszunk és jön Valentin<\/div>'+
'<br \/><img src="#" alt="" \/><br \/>';
unnep_idoszak = true;
}
//feb.14.-én
if ( (calculate_valentin==0) )
{
document.getElementById('unnep').innerHTML = '<br \/><div>Gyerekek, megérkezett Valentin!<\/div>'+
'<br \/><img src="#" alt="" \/><br \/>';
unnep_idoszak = true;
}
valentin_nap.setMonth(theoccasion1.getMonth()+1);// januártol kezdödik az év onan szémol a +1 februárt jelenti.
szoval a pl és a magyarézat nagyábol ez kellet volna -
Jim-Y
veterán
válasz
superboyka #4652 üzenetére
Ez egy félkész alternatív megoldás, ha valaki egy kicsit tovább csinálja, akkor egyszerűbb, átláthatóbb, és könnyebben módosítható lesz mint a tiéd. Sok időm nem volt vele foglalkozni, meg hát befejezni sem.
megj: azt azért el kell mondanom, hogy itt senkinek sem kötelező segítenie neked. Mindenki a saját szabadidejéből áldoz a témának, tehát ha te egy kész megoldást szeretnél kapni, magyarázattal, és a te megoldásodat kiegészítve, úgy, hogy te nem mutatsz hajlandóságot a próbálkozásokra ... akkor csodálkoznék ha valaki megcsinálná :/
-
superboyka
csendes tag
válasz
martonx #4651 üzenetére
eltaláltad erdélyböl vagyok ás román suliba iratak az a baj a helyesirásomal igy bocsi itt van mit akarok
Néztem a scriptet minden irányból, arra jutottam, hogy:
theoccasion1 az egyenlő december 25.
theoccasion2 az egyenlő január 1.
theoccasion3 az egyenlő Január 8
ebből lesz egy olyan képlet, hogy
theoccasion1-today/one_day
ünnepi nap - aktuális nap / ma
* ma = 1 nap = 24 = one_day = 1000*60*60*24;
Akkor ide a 8 a 15 és a 22 hogyan jön ki ebből ?
//dec.18-tól 24-ig
if ((calculatediff1>0) && (calculatediff1<8) && (calculatediff2<15) && (calculatediff3<22))
Így kéne:
calculatediff1 úgy jön ki, hogy dec 25 - dec 18 / ma
calculatediff2 úgy jön ki, hogy jan 1 - dec 18 / ma
calculatediff3 úgy jön ki, hogy jan 8 - dec 18 / ma
Első érték számítása (calculatediff1)
dec 25 = Timestamp = 1419465600
dec 18 = Timestamp = 1418860800
1 nap = Timestamp = 86400000
Van szám, a képletbe betudom helyettesíteni.
Én így gondolkodtam rajt, de nem jó.
Kérem ezek után valaki legyen szives eme okfejtésemet kijavítani, hogy megfelelően tudjam majd kiegészíteni további ünnepi napokkal.
Nem szeretnék más oldalt, más példát, más módszert nézni erre, Én ezt a srciptet szeretném használni.
&& = és
II = vagy
<> = relációs jelÚgy érzem meg van minden ami kell, de a számítási rész nem megy.
Fent leírtam az én gondolatmenetemet, és azt is, hogy mit nem értek.
Valaki legyenszives ezek után igazítson útba a helyes művelet elvégzéséhez.
Több napja foglalkoztat a dolog, ennek ellenére nem jöttem rá.
Köszönöm.itt a link a szétszedet kodal
-
martonx
veterán
válasz
superboyka #4649 üzenetére
Ez most nagyon off lesz, és nagyon paraszt. A hszed nagyon hasznos volt számomra, mert sosem gondoltam volna, hogy ilyen is lakozik bennem, de muszáj kimondanom. Annyira irritálón, borzalmasan bűn rossz a helyesírásod, hogy az első mondat után egyszerűen képtelen voltam érdemben elolvasni, hogy mi a problémád. Ezt tetézted a kóddal, amit nem néztem át, de ránézésre is az a kód volt, amit el se akarok olvasni.
Szóval ezer bocsánat, és tudom, hogy vér paraszt vagyok amiért kimondtam, de te erőltetted, hogy kapj valami reakciótAmikor olvastam a hszedet, akkor értettem meg, hogy testvéremnek miért kell szakmunkásképzőben vállalkozási ismeretek tantárgy fedőnéven matematika alapjait tanítania a végzősöknek (komolyan - téglalap terület, kerület, százalékszámítás a tananyag).
Ha netán 8 éves vagy, és még most tanulsz írni-olvasni, vagy felvidékről, erdélyből, vajdaságból származol (bár szerintem ők is nagyságrendekkel jobban írnak nálad a körülményeik ellenére is), akkor ezer bocsánat, és vedd tárgytalannak az írásomat. Ez esetben, ha normális angolsággal elküldöd privátban, hogy mit is szeretnél, nagyon szívesen segítek.
-
Jim-Y
veterán
válasz
superboyka #4649 üzenetére
Sziasztok,
Én szórakoztam kicsit vele, hogy könnyebb legyen bővíteni, aki akarja, folytassa. Ja igen, a te verziódhoz nem nyúltam, mert.. hát mert csak, a többiek értik
-
superboyka
csendes tag
válasz
superboyka #4647 üzenetére
Sziasztok idáig az volt a baj nem átlátható a kod megoldotam odda tettem ahova kértétek leirtam hogy mi kellene nekem senki nem segit 1 pl dával pls 1 segitö kész ember néze meg már a kodom és adjon 1 pldát és 1 magyarázatot.
-
Sziasztok!
Megint lett időm egy kicsit fogalkozni a kép betöltő progimmal.
Azt szeretném elegánsam megoldani, hogy feltöltök X darab képet, és amikor mindegyik betöltődött, akkor kirajzolom őket.
Azért kell megvárni a betöltődést, mert a kirajzolásnál szeretném tudni a szélességüket.
Jelenleg ezt úgy oldottam meg, hogy a kép objektumok onload funkciója meghív egy függvényt, ami egy globális változóban eltárolja, hogy melyik van már betöltve, ezután futtat egy ellenőrzést, és ha mindegyik kész van, akkor rajzol.Viszont van egy sejtésem, hogy globális változót használni nem elegáns (sokszor kaptam már ilyen kritikát), így elkezdtem gondolkodni, hogy hogy lehetne ezt szebben megoldani.
Egyelőre nincs eredmény, így inkább megkérdezem Tőletek. -
superboyka
csendes tag
válasz
superboyka #4646 üzenetére
És megint hogy ne kezzük elölröl a kod eddig is ment én belle akarok tenni még ünepeket mint pl valentin, husvét, pünkösd ,haloovin stb. erre kellet segitség hogy kell belle rakni és kiszámitani az értékeket honap számit. nap számitás és mit kell belle rakni még hogy belle kerüljön egy uj dátum kis magyarázattal hogy tudjam megirni én is , a kod ugy müködik ki irja mikulás elöt hány nap van mikulásig, mikor odda ér boldog mikit majd karácsonyt ugyanugy uj évet csak ott van 1 kicsi bibi amit át kellene irni 31 edikén azt irja ,még 1 napot alszunk jön uj év és ugy kellene azt irja ki ma az év utolsó napja szilveszter ,remélem most érthetö voltam és a többi dátum is ugyanugy kellene müködjön január végétöl irja valentinig x y nap van hátra február 14 edikén irja boldog valentint erre kellene tehát a segitségetttek amit szépen megköszönék és hálás lennék érte elöre is kössz ha segitettek .
-
superboyka
csendes tag
válasz
superboyka #4644 üzenetére
na fiuk itt van a müködö kod lementve ahová kértétek széjel szedve css re js re html re
link
[link] -
Zedz
addikt
válasz
superboyka #4644 üzenetére
Na várj.. milyen kód működik?
JSFiddlen ott lesz a menüben egy Save gomb. Elmenti, a linket pedig bemásolod ide.
-
Zedz
addikt
válasz
superboyka #4642 üzenetére
Figyelj, nem csak a második kódrészlettel van a baj, hanem az elsővel is. Átláthatatlan, nagyon nehéz segíteni, illetve hogyan teszteljük le a mi verziónkat? Ezért kéri itt szinte mindenki, hogy rakjátok össze a JSFiddle-ben a kódot ami nem működik, az itteni fórumtársak biztos segíteni fognak, ha úgy tálalod a gondod.
Most nem azért macerállak, mert jól esik, de gondolj bele: kibogozni a kódod, tesztelni, működővé tenni nekünk is időbe telik, márpedig az sokszor nem sok van. Ezért ha ennyivel segítesz, akkor ránézünk.
Az, hogy nem tudod JSFiddlére bemásolni ezt a halom kódot nem csoda, nem "komplett rendszerekre" lett kitalálva az az oldal.
-
superboyka
csendes tag
az elején azért csak azt a részét másoltam be amelyiken alakitani kellene a többinek semi köze a problémához szoval csak az ünepek részébe kell elméletileg alakitani amit utoljára bemásoltam csak azért lásad nem jó az a megoldás amit adtál , inkáb magyarázat kellene nekem mivel mondtam nem sokat értek a js hez .
-
Zedz
addikt
válasz
superboyka #4640 üzenetére
ugy össze van keverve html css nem tudtam széjel szedni
Akkor elkövetted az első hibát. Az olvashatóság, szerkeszthetőség érdekében érdemes elszeparálni a kód különböző részeit. Külön a HTML kód, külön a CSS, külön a JS, külön a szerver.
Remélem érzed, hogy amit ide "dobtál" nekünk hatalmas kódtömeget azt nem fogjuk elolvasni. Egyrészt ha te sem tudod elszeparálni, nekünk miért kellene ezzel bíbelődnünk? Ha segítséget szeretnél, itt jó eséllyel megkapod, csak akkor olyan formában kérjük ide a megoldandó problémád. A fentebb linkelt JSFiddle például ilyen.
-
superboyka
csendes tag
hát én probáltam de ugy össze van keverve html css nem tudtam széjel szedni figyeld a teljes kod amibe névnap is van
<?php
opentable("Karácsony Visszaszámláló");
/* scriptekbõl felépített panel */
?>
<style type="text/css">
/* */
#sapka{width:100%;
font-family:sans-serif;font-size:14px;color:#111F10;text-align:center;}
.current-submenu{width:800px;font-weight:700;height:345px;text-align:center;margin:0 auto;padding:4px 0 0 0;
font-size:16px;;border:0 solid #c6ac6c;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;
background: #E1DFD5;font-family:Insula, Arial, helvetica, sans-serif;
background-image:-webkit-linear-gradient(left,#938B66, #E1DFD5, #938B66);
background-image:-moz-linear-gradient(left,#938B66, #E1DFD5, #938B66);
background-image:-o-linear-gradient(top left,#938B66, #E1DFD5 50%,#938B66 100%);
-pie-background:linear-gradient(left, #938B66, #E1DFD5, #938B66);
behavior:url('infusions/nevunep_panel/pie.htc');z-index:2;}
#unnep_keret{width:800px;min-height:10px;height:auto;margin:0 auto;padding:0;position:relative;}
#unnep{width:800px;margin:0;padding:0;position:absolute;left:0;top:0; background: url('infusions/nevunep_panel/orange50.png') 0 0 repeat;
-moz-border-radius:8px;-webkit-border-radius:8px;-o-border-radius:8px;-ms-border-radius:8px;
border-radius:8px;border:0px solid blue;behavior:url('infusions/nevunep_panel/pie.htc');}
#unnep div{width:797px;margin:0 auto;padding:0;color:#FFFFFF;font-family:Insula, Arial, helvetica, sans-serif;
height:30px;line-height:30px;font-size:18px;background: url('infusions/nevunep_panel/unnep.gif') 0 0 repeat;
-moz-border-radius:8px;-webkit-border-radius:8px;-o-border-radius:8px;-ms-border-radius:8px;
border-radius:8px;border:0px solid gray;behavior:url('infusions/nevunep_panel/pie.htc');}
</style>
<div id="sapka"><div id="sapka">
<script type="text/javascript">
/**************** aktuális dátum/névnap meghatározó *************/
var ido = new Date();
var ev = ido.getYear();
var ho = ido.getMonth();
var nap = ido.getDate();
var napszam = ido.getDay();
var honap_hossz = 0;
if (ev<1900)
{ ev+=1900; }
//hónap nevének meghatározása
function honev(ho)
{
var month = new Array("Január", "Február", "Március", "Április", "Május", "Június",
"Július", "Augusztus", "Szeptember", "Október", "November", "December");
return month[ho];
}
//nap nevének meghatározása
function napnev(szam)
{
var napnevek = new Array("vasárnap", "hétfo", "kedd", "szerda", "csütörtök",
"péntek", "szombat", "vasárnap");
return napnevek[szam];
}
//adott napon lévo névnapok meghatározása
function nevnap(evben,hoban,napon) {
if (hoban==1) { //Január
var napok = new Array("",
"Alpár, Fruzsina, Bazil", "Ábel, Gergely, Vazul", "Genovéva, Gyöngyvér, Benjámin, Dzsenifer", "Titusz, Leona, Angéla", "Simon, Emília",
"Gáspár, Menyhért, Boldizsár", "Attila, Ramóna, Rajmund, Bálint", "Gyöngyvér, Szeverinusz, Szörény", "Marcell, Juliánusz", "Melánia, Vilmos, Vilma",
"Ágota, Honoráta", "Erno, Erneszta, Tatjána", "Veronika, Csongor, Yvett", "Bódog, Félix", "Lóránt, Loránd, Pál",
"Gusztáv, Marcell", "Antal, Antónia", "Margit, Piroska", "Sára, Márta, Márió", "Fábián, Sebestyén",
"Ágnes, Agnéta", "Vince, Artúr", "Zelma, Rajmund, Emerencia, Emese", "Timót, Ferenc", "Pál, Henrik",
"Vanda, Paula, Timóteusz", "Angéla, Angelika", "Károly, Karola, Tamás", "Adél, Valér", "Martina, Gerda, Jácinta",
"Marcella, János");
}
else if (hoban==2) { //Február
if((evben%4 == 0 && evben%100 != 0) || evben%400 == 0)
{
var napok=new Array("",
"Ignác, Brigitta, Kincso", "Karolina, Karola, Aida", "Balázs, Oszkár, Celerina", "Ráhel, Csenge, Veronika, András", "Ágota, Ingrid, Etelka, Léda",
"Dorottya, Dóra, Pál", "Tódor, Rómeó, Richárd", "Aranka, Jeromos", "Abigél, Alex, Apollónia", "Elvira",
"Bertold, Marietta", "Lívia, Lídia, Eulália", "Ella, Linda, Levente, Katalin", "Bálint, Valentin, Cirill, Metód", "Kolos, Györgyi, Georgina",
"Julianna, Lilla, Filippa", "Donát", "Bernadett, Simon, Zenko", "Zsuzsanna, Eliza, Konrád", "Aladár, Álmos, Leó",
"Eleonóra, Zelmira, Péter", "Gerzson, Margit", "Alfréd, Polikárp", "SENKI SEM(szökonap)", "Mátyás, Jázmin",
"Géza, Cézár, Vanda", "Edina, Viktor, Gyozo", "Ákos, Bátor, Gábor", "Elemér, Oszvald, Román")
}
else
{
var napok=new Array("",
"Ignác, Brigitta, Kincso", "Karolina, Karola, Aida", "Balázs, Oszkár, Celerina", "Ráhel, Csenge, Veronika, András", "Ágota, Ingrid, Etelka, Léda",
"Dorottya, Dóra, Pál", "Tódor, Rómeó, Richárd", "Aranka, Jeromos", "Abigél, Alex, Apollónia", "Elvira",
"Bertold, Marietta", "Lívia, Lídia, Eulália", "Ella, Linda, Levente, Katalin", "Bálint, Valentin, Cirill, Metód", "Kolos, Györgyi, Georgina",
"Julianna, Lilla, Filippa", "Donát", "Bernadett, Simon, Zenko", "Zsuzsanna, Eliza, Konrád", "Aladár, Álmos, Leó",
"Eleonóra, Zelmira, Péter", "Gerzson, Margit", "Alfréd, Polikárp", "Mátyás, Jázmin", "Géza, Cézár, Vanda",
"Edina, Viktor, Gyozo", "Ákos, Bátor, Gábor", "Elemér, Oszvald, Román")
}
}
else if (hoban==3) { //Március
var napok=new Array("",
"Albin, Albina, Leonita, Lea", "Lujza, Ágnes, Henrik, Magor", "Kornélia, Kunigunda, Frigyes", "Kázmér, Lúciusz, Zorán", "Adorján, Adrián",
"Leonóra, Inez, Koletta", "Tamás, Perpétua, Felicitász", "János, Zoltán, Apolka", "Franciska, Fanni", "Ildikó, Emil, Gusztáv",
"Szilárd, Tímea, Konstantin", "Gergely, Maximilián", "Krisztián, Ajtony, Egyed, Patrícia", "Matild, Matilda, Trilla", "Kristóf, Kelemen",
"Henrietta, Herbert", "Gertrúd, Patrik", "Sándor, Ede, Cirill", "József, Bánk", "Klaudia, Alexandra",
"Benedek, Bence, Miklós", "Beáta, Izolda, Lea", "Emoke, Botond, Ottó, Kartal", "Gábor, Karina", "Irén, Írisz, Lúcia",
"Emánuel, Emánuéla, Larissza, Árpád", "Hajnalka, Lídia, Auguszta", "Gedeon, Johanna", "Auguszta, Bertold", "Zalán",
"Árpád, Benjámin, Beno")
}
else if (hoban==4) { //Április
var napok=new Array("",
"Hugó, Agád", "Áron, Ferenc", "Buda, Richárd, Hóvirág, Indira", "Izidor", "Vince, Irén, Teodóra",
"Vilmos, Bíborka, Taksony, Celesztin", "Herman, János", "Dénes, Valér, Valter", "Erhard, Ákos, Döme", "Zsolt, Ezekiel",
"Leó, Szaniszló, Glória", "Gyula, Baldvin, Sába", "Ida, Márton, Hermina", "Tibor", "Anasztázia, Tas, Oktávia",
"Csongor, Bernadett", "Rudolf, Izidóra", "Andrea, Ilma, Apolló, Aladár", "Emma, Malvin, Zseraldina", "Tivadar, Tihamér, Töhötöm",
"Konrád, Zelmira, Anzelm", "Csilla, Noémi, Kájusz", "Béla, Adalbert", "György, Fidél, Debóra", "Márk, Ányos",
"Ervin, Klétusz", "Zita, Mariann, Anasztáz", "Valéria, Péter", "Péter, Katalin, Roberta", "Katalin, Kitti, Zsófia, Piusz")
}
else if (hoban==5) { //Május
var napok=new Array("",
"Fülöp, Jakab, Zsaklin, Jefte, József", "Zsigmond, Atanáz, Zoé", "Tímea, Irma, Jakab, Fülöp", "Mónika, Flórián", "Györgyi, Irén",
"Ivett, Frida, Judit, Yvett", "Gizella, Gusztáv, Bendegúz", "Mihály, Gyozo", "Gergely, Katinka, Alberta, Édua", "Ármin, Pálma, Izidor",
"Ferenc", "Pongrác", "Szervác, Imola, Imelda", "Bonifác, Gyöngyi", "Zsófia, Szonja, Döníz",
"Mózes, Botond, János", "Paszkál, Ditmár, Rezeda", "Erik, Alexandra, János", "Ivó, Iván, Milán", "Bernát, Bernardin, Felícia",
"Konstantin, András", "Júlia, Rita, Emil", "Dezso, Vilmos, Renáta", "Eszter, Eliza, Vanessza", "Orbán, Gergely",
"Fülöp, Evelin", "Hella, Pelbárt, Ágoston", "Emil, Csanád, Vilmos", "Magdolna, Magda, Ervin, Léna", "Janka, Zsanett, Johanna, Nándor",
"Angéla, Petronella")
}
else if (hoban==6) { //Június
var napok=new Array("",
"Tünde, Jusztinusz", "Kármen, Anita, Péter, Marcellinusz", "Klotild, Cecília, Károly", "Bulcsú, Kerény, Kerubin", "Fatime, Fatima, Bonifác",
"Norbert, Norberta, Cintia", "Róbert, Robertina, Arianna, Fülöp, Roberta", "Medárd, Helga", "Félix, Elod, Annamária, Annabella", "Margit, Gréta",
"Barnabás", "Villo, Orfeusz, Adelaida", "Antal, Anett", "Vazul, Elizeus, Herta", "Jolán, Vid, Viola",
"Jusztin, Jusztina, Auréliusz", "Laura, Alida, Alina, Szabolcs, Adolf, Bató", "Arnold, Levente, Doloróza", "Gyárfás, Romuald", "Rafael, Dina",
"Alajos, Leila", "Paulina, Tamás", "Zoltán, Szultána", "János, Iván", "Vilmos, Viola, Vilma",
"János, Pál, Cirill", "László, Sámson", "Levente, Irén, Iréneusz", "Péter, Pál,Emoke, Judit, Petra, Szulamit, Ivett", "Pál")
}
else if (hoban==7) { //Július
var napok=new Array("",
"Tihamér, Annamária, Olivér, Áron", "Ottó", "Kornél, Soma, Tamás", "Ulrik, Erzsébet", "Emese, Sarolta, Lotti, Antal",
"Csaba, Mária", "Apollónia, Vilibald, Bene", "Ellák, Edgár, Eperke", "Lukrécia, Veronika, Hajnalka", "Amália, Melina Engelbert, Ulrika",
"Nóra, Lili, Nelli, Benedek", "Izabella, Dalma, Eleonóra", "Jeno, Henrik", "Örs, Stella, Kamil", "Örkény, Henrik, Roland, Bonaventúra",
"Valter, Irma", "Endre, Elek, András", "Szömér, Frigyes, Milla, Hedvig, Mirkó", "Emília", "Illés, Margaréta",
"Dániel, Daniella, Lorinc", "Magdolna, Mária, Magda", "Lenke, Brigitta, Apollinár", "Kinga,Kunigunda, Kincso, Krisztina", "Kristóf, Jakab",
"Anna, Anikó, Joakim", "Olga, Liliána, Natália, Pantaleon", "Szabolcs, Alina, Ince, Gyozo", "Márta,Flóra", "Judit, Xénia, Péter",
"Oszkár, Ignác, Bató")
}
else if (hoban==8) { //Augusztus
var napok=new Array("",
"Boglárka,Nimród, Alfonz", "Lehel", "Hermina, Lídia, Kamélia", "Domonkos, Dominik, János, Dominika", "Krisztina",
"Berta, Bettina", "Ibolya", "László, Domonkos", "Emod, Román", "Lorinc, Blanka, Csilla",
"Zsuzsanna, Tiborc, Klára", "Klára, Hilária, Diána", "Ipoly, Ince, Vitália", "Marcell, Maximilián", "Mária",
"Ábrahám, Rókus", "Jácint, Réka, Hetény", "Ilona, Rajnald", "Huba, Marián, Emília", "István, Bernát",
"Sámuel, Hajna, Piusz", "Menyhért, Mirjam", "Bence, Róza, Szidónia", "Bertalan, Aliz, Detre", "Lajos, Patrícia",
"Izsó, Tália, Natália, Zamfira", "Gáspár, Mónika", "Ágoston, Mózes", "Beatrix, Erna", "Rózsa, Félix, Letícia",
"Erika, Bella, Arisztid")
}
else if (hoban==9) { //Szeptember
var napok= new Array("",
"Egyed, Egon, Noémi, Tamara", "Rebeka, Dorina, Renáta, Ingrid, István", "Hilda, Gergely", "Rozália, Róza, Ida", "Viktor, Lorinc, Ofélia",
"Zakariás, Beáta", "Regina", "Mária, Adrienn", "Ádám, Péter", "Nikolett, Hunor, Miklós",
"Teodóra, Jácint, Igor, Helga", "Mária, Irma", "Kornél, János", "Szeréna, Roxána", "Eniko, Melitta",
"Edit, Ciprián", "Zsófia, Róbert", "Diána, József", "Vilhelmina, Januáriusz, Dorián", "Friderika",
"Máté, Mirella, Jónás", "Móric, Tamás", "Tekla, Líviusz, Ila", "Gellért, Gerda, Mercédesz", "Eufrozina, Kende",
"Jusztina, Kozma, Damján", "Adalbert, Vince", "Vencel, Salamon", "Mihály, Gábor, Rafael Mirabella", "Jeromos, Honória, Hunor")
}
else if (hoban==10) { //Október
var napok= new Array("",
"Malvin, Teréz", "Petra, Örs", "Helga, Évald", "Ferenc, Hajnalka", "Aurél, Placid, Attila",
"Brúnó, Renáta, Renátó", "Amália, Bekény", "Koppány, Benedikta", "Dénes, János", "Gedeon, Ferenc, Bendegúz",
"Brigitta, Placida, Etel, Gitta", "Miksa, Rezso, Edvin", "Kálmán, Ede, Edvárd", "Helén, Kaldixtusz", "Teréz, Aranka",
"Gál, Margit, Hedvig", "Hedvig, Ignác, Rudolf", "Lukács, Jusztusz", "Nándor, János, Pál", "Vendel, Irén, Kleopátra",
"Orsolya, Zsolt", "Elod, Szalóme, Kordélia", "Gyöngyvér, János, Gyöngyi", "Salamon, Antal", "Blanka, Bianka, Mór",
"Dömötör, Armand, Örs", "Szabina, Antonietta", "Simon, Szimonetta, Szimóna, Júdás, Tádé", "Nárcisz, Melinda, Ozike", "Alfonz, Zenóbia",
"Farkas, Rodrigó, Wolfgang")
}
else if (hoban==11) { //November
var napok=new Array("",
"Marianna", "Achilles, Bató", "Gyozo, Márton", "Károly, Karola", "Imre, Zakariás, Tétény",
"Lénárd, Krisztina", "Csenger, Rezso, Erno, Florentin", "Zsombor, Kolos, Gottfrid", "Tivadar", "Réka, András, Leó",
"Márton, Atád, Tódor", "Jónás, Renátó, Jozafát", "Szilvia, Szaniszló", "Aliz, Vanda, Huba, Klementina", "Albert, Lipót",
"Ödön, Margit", "Hortenzia, Gergo, Dénes", "Jeno", "Erzsébet, Zsóka", "Jolán, Zsolt, Ödön, Bódog",
"Olivér", "Cecília, Filemon", "Kelemen, Klementina, Kolumbán", "Emma, Flóra, Virág", "Katalin, Liza, Katinka",
"Virág, Szvetlana, Konrád, Viktória, Milos", "Virgil, Virgínia", "Stefánia, Jakab", "Taksony, Ilma, Filoména", "András, Andor, Andrea")
}
else if (hoban==12) { //December
var napok=new Array("",
"Elza, Natália, Blanka, Bonita", "Melinda, Vivien, Aranka", "Ferenc, Olívia", "Borbála, Barbara, János", "Vilma, Ünige, Csaba",
"Miklós, Csinszka, Gyopár, Gyopárka", "Ambrus, Ambrózia", "Mária, Emoke", "Natália, Valéria, Filótea", "Judit, Loretta, Eulália",
"Árpád, Árpádina, Damazusz", "Gabriella, Johanna, Franciska", "Luca, Otília, Lúcia, Éda, Tilia", "Szilárda, Szilárd, János", "Valér, Detre",
"Etelka, Aletta, Adelaida", "Lázár, Olimpia", "Auguszta, Gracián", "Viola, Anasztáz", "Teofil, Liberátusz",
"Tamás, Péter", "Zénó, Flórián", "Viktória, János", "Ádám, Éva, Adél", "Eugénia, Anasztázia",
"István", "János, Teodor", "Kamilla, Apor", "Tamás, Tamara", "Dávid, Hunor, Libériusz",
"Szilveszter, Donáta")
}
honap_hossz = napok.length;
return napok[napon];
}
//dátum(év, honapnév, nap, napnév), mai névnap, holnapi névnap meghatározás
var nevnapok=new Array()
nevnapok[0]='Ma "'+ev+'. '+honev(ho)+'. '+ nap+'" '+napnev(napszam)+' van...';
nevnapok[1]='A mai napon "' + nevnap(ev,(ho+1),nap) + '" ünnepli névnapját.';
if( (honap_hossz-1) == nap)
{
if( (ho+1) == 12)
nevnapok[2]='Holnap "' + nevnap(ev,1,1) + '" ünnepli névnapját.';
else
nevnapok[2]='Holnap "' + nevnap(ev,(ho+2),1) + '" ünnepli névnapját.';
}
else
nevnapok[2]='Holnap "' + nevnap(ev,(ho+1),nap+1) + '" ünnepli névnapját.';
//dátum, mai névnap, holnapi névnap váltás
function nevnapvalto(content, divId, divClass, delay, fadeornot)
{
this.content=content;
this.tickerid=divId;
this.delay=delay;
this.mouseoverBol=0;
this.pointer=1;
this.opacitystring=(typeof fadeornot!="undefined")? "width: 100%; filter:progid:DXImageTransform.Microsoft.alpha(opacity=100); -moz-opacity: 1" : "";
if (this.opacitystring!="")
this.delay+=500;
this.opacitysetting=0.2;
document.write('<div id="'+divId+'" class="'+divClass+'"><div style="'+this.opacitystring+'">'+nevnapok[0]+'<\/div><\/div>');
var instanceOfTicker=this;
setTimeout(function(){instanceOfTicker.initialize()}, delay);
}
nevnapvalto.prototype.initialize=function()
{
var instanceOfTicker=this;
this.contentdiv=document.getElementById(this.tickerid).firstChild;
document.getElementById(this.tickerid).onmouseover=function(){instanceOfTicker.mouseoverBol=1};
document.getElementById(this.tickerid).onmouseout=function(){instanceOfTicker.mouseoverBol=0};
this.rotatemsg();
}
nevnapvalto.prototype.rotatemsg=function()
{
var instanceOfTicker=this;
if (this.mouseoverBol==1)
setTimeout(function(){instanceOfTicker.rotatemsg()}, 100);
else
{
this.fadetransition("reset");
this.contentdiv.innerHTML=this.content[this.pointer];
this.fadetimer1=setInterval(function(){instanceOfTicker.fadetransition('up', 'fadetimer1')}, 100);
this.pointer=(this.pointer<this.content.length-1)? this.pointer+1 : 0;
setTimeout(function(){instanceOfTicker.rotatemsg()}, this.delay);
}
}
nevnapvalto.prototype.fadetransition=function(fadetype, timerid)
{
var contentdiv=this.contentdiv;
if (fadetype=="reset")
this.opacitysetting=0.2;
if (contentdiv.filters && contentdiv.filters[0])
{
if (typeof contentdiv.filters[0].opacity=="number") //IE6+
contentdiv.filters[0].opacity=this.opacitysetting*100;
else //IE 5.5
contentdiv.style.filter="alpha(opacity="+this.opacitysetting*100+")";
}
else
if (typeof contentdiv.style.MozOpacity!="undefined" && this.opacitystring!="")
{ contentdiv.style.MozOpacity=this.opacitysetting; }
else
this.opacitysetting=1;
if (fadetype=="up")
this.opacitysetting+=0.2;
if (fadetype=="up" && this.opacitysetting>=1)
clearInterval(this[timerid]);
}
/************** ÜNNEPEK ***************/
function unnepek()
{
var unnep_idoszak = false;
var today = new Date();
var theoccasion1 = new Date(parseInt(today.getFullYear()), 12, 25);
var mikulas_nap = new Date(parseInt(today.getFullYear()), 12, 6);
if(parseInt(today.getMonth())==11)
{
var theoccasion2 = new Date(parseInt(today.getFullYear()+1), 1, 1);
var theoccasion3 = new Date(parseInt(today.getFullYear()+1), 1, 8);
}
else
{
var theoccasion2 = new Date(parseInt(today.getFullYear()), 1, 1);
var theoccasion3 = new Date(parseInt(today.getFullYear()), 1, 8);
}
mikulas_nap.setMonth(theoccasion1.getMonth()-1);
theoccasion1.setMonth(theoccasion1.getMonth()-1);
theoccasion2.setMonth(theoccasion2.getMonth()-1);
theoccasion3.setMonth(theoccasion3.getMonth()-1);
var one_day = 1000*60*60*24;
calculate_mikulas_nap = Math.ceil((parseInt(mikulas_nap.getTime())-parseInt(today.getTime()))/(one_day));
calculatediff1 = Math.ceil((parseInt(theoccasion1.getTime())-parseInt(today.getTime()))/(one_day));
calculatediff2 = Math.ceil((parseInt(theoccasion2.getTime())-parseInt(today.getTime()))/(one_day));
calculatediff3 = Math.ceil((parseInt(theoccasion3.getTime())-parseInt(today.getTime()))/(one_day));
if (calculate_mikulas_nap < 0)
{
var nextyeartoday=new Date();
nextyeartoday.setFullYear(today.getFullYear()+1);
calculate_mikulas_nap = Math.ceil((nextyeartoday.getTime()-today.getTime())/(one_day)+calculate_mikulas_nap);
}
if (calculatediff1 < 0)
{
var nextyeartoday=new Date();
nextyeartoday.setFullYear(today.getFullYear()+1);
calculatediff1 = Math.ceil((nextyeartoday.getTime()-today.getTime())/(one_day)+calculatediff1);
}
if (calculatediff2 < 0)
{
var nextyeartoday=new Date();
nextyeartoday.setFullYear(today.getFullYear()+1);
calculatediff2 = Math.ceil((nextyeartoday.getTime()-today.getTime())/(one_day)+calculatediff2);
}
if (calculatediff3 < 0)
{
var nextyeartoday=new Date();
nextyeartoday.setFullYear(today.getFullYear()+1);
calculatediff3 = Math.ceil((nextyeartoday.getTime()-today.getTime())/(one_day)+calculatediff3);
}
//nov.22-tól dec.5-ig
if ( (calculate_mikulas_nap>0) && (calculate_mikulas_nap<15) )
{
document.getElementById('unnep').innerHTML = '<br \/><div>Még '+calculate_mikulas_nap+' napot alszunk és jön a Mikulás...<\/div>'+
'<br \/><img src="infusions/nevunep_panel/jon_mikulas.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//dec.6-án
if ( (calculate_mikulas_nap==0) )
{
document.getElementById('unnep').innerHTML = '<br \/><div>Gyerekek, megérkezett a Mikulás!<\/div>'+
'<br \/><img src="infusions/nevunep_panel/megjott_mikulas.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//dec.7-tól 24-ig
if ((calculatediff1>0) && (calculatediff1<29) && (calculatediff2<26) && (calculatediff3<33))
{
document.getElementById('unnep').innerHTML = '<br \/><div>Még '+calculatediff1+' napot alszunk és itt a Karácsony...<\/div>'+
'<br \/><img src="infusions/nevunep_panel/jon_karacsony.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//dec.25-én és 26-án
if (calculatediff1==0 || (calculatediff1>0 && calculatediff2==6))
{
document.getElementById('unnep').innerHTML = '<br \/><div>Boldog Karácsonyi Ünnepeket!<\/div>'+
'<br \/><img src="infusions/nevunep_panel/boldog-karacsonyt.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//dec.27-tol dec.31-ig
if((calculatediff1>0) && (calculatediff2>0) && (calculatediff2!=6) && (calculatediff2<7) && (calculatediff3>0))
{
document.getElementById('unnep').innerHTML = '<br \/><div>Még '+calculatediff2+' napot alszunk és itt van Uj Év..<\/div>'+
'<img src="infusions/nevunep_panel/kellemes_unnepek.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//jan.01-tol jan.07-ig
if(((calculatediff1>0) && (calculatediff2==0) && (calculatediff3>0) && (calculatediff3<8)) || ((calculatediff3>0) && (calculatediff3<8)))
{
document.getElementById('unnep').innerHTML = '<br \/><div>Boldog Új Évet!<\/div>'+
'<br \/><img src="infusions/nevunep_panel/boldogujevet.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//Ez a rész csak a TESZT kedvéért...
if(!unnep_idoszak)
document.getElementById('unnep').innerHTML = '<br \/><div>Nincs ünnepi idoszak...<\/div>'+
'<br \/><img src="infusions/nevunep_panel/boldogujevet.gif" alt="" \/><br \/>';
}
</script>
<div class="current-submenu">
<script type="text/javascript">new nevnapvalto(nevnapok, "hnevnap", "hnevnapstyle", 5000, "");</script>
<div id="unnep_keret"><div id="unnep"></div></div>
<script type="text/javascript">unnepek();</script>
<center><hr width="99%" color="#000" size="20"> </hr></center>
</div></br></br>
<?
closetable();
?> -
Zedz
addikt
válasz
superboyka #4638 üzenetére
Próbáljuk meg ezzel.
-
superboyka
csendes tag
bocsi most vettem észre van kod forás javitom
************** ÜNNEPEK ***************/
function unnepek()
{
var unnep_idoszak = false;
var today = new Date();
var theoccasion1 = new Date(parseInt(today.getFullYear()), 12, 25);
var mikulas_nap = new Date(parseInt(today.getFullYear()), 12, 6);
if(parseInt(today.getMonth())==11)
{
var theoccasion2 = new Date(parseInt(today.getFullYear()+1), 1, 1);
var theoccasion3 = new Date(parseInt(today.getFullYear()+1), 1, 8);
}
else
{
var theoccasion2 = new Date(parseInt(today.getFullYear()), 1, 1);
var theoccasion3 = new Date(parseInt(today.getFullYear()), 1, 8);
}
mikulas_nap.setMonth(theoccasion1.getMonth()-1);
theoccasion1.setMonth(theoccasion1.getMonth()-1);
theoccasion2.setMonth(theoccasion2.getMonth()-1);
theoccasion3.setMonth(theoccasion3.getMonth()-1);
var one_day = 1000*60*60*24;
calculate_mikulas_nap = Math.ceil((parseInt(mikulas_nap.getTime())-parseInt(today.getTime()))/(one_day));
calculatediff1 = Math.ceil((parseInt(theoccasion1.getTime())-parseInt(today.getTime()))/(one_day));
calculatediff2 = Math.ceil((parseInt(theoccasion2.getTime())-parseInt(today.getTime()))/(one_day));
calculatediff3 = Math.ceil((parseInt(theoccasion3.getTime())-parseInt(today.getTime()))/(one_day));
if (calculate_mikulas_nap < 0)
{
var nextyeartoday=new Date();
nextyeartoday.setFullYear(today.getFullYear()+1);
calculate_mikulas_nap = Math.ceil((nextyeartoday.getTime()-today.getTime())/(one_day)+calculate_mikulas_nap);
}
if (calculatediff1 < 0)
{
var nextyeartoday=new Date();
nextyeartoday.setFullYear(today.getFullYear()+1);
calculatediff1 = Math.ceil((nextyeartoday.getTime()-today.getTime())/(one_day)+calculatediff1);
}
if (calculatediff2 < 0)
{
var nextyeartoday=new Date();
nextyeartoday.setFullYear(today.getFullYear()+1);
calculatediff2 = Math.ceil((nextyeartoday.getTime()-today.getTime())/(one_day)+calculatediff2);
}
if (calculatediff3 < 0)
{
var nextyeartoday=new Date();
nextyeartoday.setFullYear(today.getFullYear()+1);
calculatediff3 = Math.ceil((nextyeartoday.getTime()-today.getTime())/(one_day)+calculatediff3);
}
//nov.22-tól dec.5-ig
if ( (calculate_mikulas_nap>0) && (calculate_mikulas_nap<15) )
{
document.getElementById('unnep').innerHTML = '<br \/><div>Még '+calculate_mikulas_nap+' napot alszunk és jön a Mikulás...<\/div>'+
'<br \/><img src="infusions/nevunep_panel/jon_mikulas.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//dec.6-án
if ( (calculate_mikulas_nap==0) )
{
document.getElementById('unnep').innerHTML = '<br \/><div>Gyerekek, megérkezett a Mikulás!<\/div>'+
'<br \/><img src="infusions/nevunep_panel/megjott_mikulas.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//dec.7-tól 24-ig
if ((calculatediff1>0) && (calculatediff1<29) && (calculatediff2<26) && (calculatediff3<33))
{
document.getElementById('unnep').innerHTML = '<br \/><div>Még '+calculatediff1+' napot alszunk és itt a Karácsony...<\/div>'+
'<br \/><img src="infusions/nevunep_panel/jon_karacsony.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//dec.25-én és 26-án
if (calculatediff1==0 || (calculatediff1>0 && calculatediff2==6))
{
document.getElementById('unnep').innerHTML = '<br \/><div>Boldog Karácsonyi Ünnepeket!<\/div>'+
'<br \/><img src="infusions/nevunep_panel/boldog-karacsonyt.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//dec.27-tol dec.31-ig
if((calculatediff1>0) && (calculatediff2>0) && (calculatediff2!=6) && (calculatediff2<7) && (calculatediff3>0))
{
document.getElementById('unnep').innerHTML = '<br \/><div>Még '+calculatediff2+' napot alszunk és itt van Uj Év..<\/div>'+
'<img src="infusions/nevunep_panel/kellemes_unnepek.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//jan.01-tol jan.07-ig
if(((calculatediff1>0) && (calculatediff2==0) && (calculatediff3>0) && (calculatediff3<8)) || ((calculatediff3>0) && (calculatediff3<8)))
{
document.getElementById('unnep').innerHTML = '<br \/><div>Boldog Új Évet!<\/div>'+
'<br \/><img src="infusions/nevunep_panel/boldogujevet.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//Ez a rész csak a TESZT kedvéért...
if(!unnep_idoszak)
document.getElementById('unnep').innerHTML = '<br \/><div>Nincs ünnepi idoszak...<\/div>'+
'<br \/><img src="infusions/nevunep_panel/boldogujevet.gif" alt="" \/><br \/>'és hogy még érthetöbb legyek szoval még dátumokat tennék belle csak nem tudom hogy kell erre kellene segitség meg 1 jó kis plda szoval azt szeretném januér 25 és februér 13 közöt számlálja szövegel menyi nap van még hátra és 14 edikén boldog valentint kivánjon ha ezt kis hozza irás kisérné pl.ezzel álitod a honapot innen a napot ezt kellet belle tenni hogy ki mutassa a február 14 et és igy számolod ki metöl medig számoljon ez kellene bocs a helyesirésárt külföldi vagyok kát én a programkodra katintotam de csak ilyen lett nem tom miért
-
martonx
veterán
válasz
superboyka #4634 üzenetére
hűha, légy jó, és nézz vissza csak egy pár hsz-t, hogy hogy, milyen formában illik a példa kódunkat ide belinkelni. És még egy csomó helyesírási hibától is megkímélnéd sk8erpeter-t
-
superboyka
csendes tag
Sziasztok lenne 1 kis gondom de nekem a js kinai igy helpre szorulok, van 1 kodom ami kiirja mikulást karácsonyt,és uj évet olyan képen elöte jelzi menyi nap van még mikor odda ért boldog ünepet kiván eddig ok csak én belle szeretnék tenni még ünepeket hogy egész éves panel legyen belöle pl valentint,husvét stb. erre kellene segitség hogy a kodomba levö szerkestésnek az elmagyarázását 1 kis pldával mellette leirés igy a napot honapot és ezt kell belle tened akkor a többi dátum beleszerkesztése egyszerü lenne már nekem is imme a kodom
/************** ÜNNEPEK ***************/
function unnepek()
{
var unnep_idoszak = false;
var today = new Date();
var theoccasion1 = new Date(parseInt(today.getFullYear()), 12, 25);
var mikulas_nap = new Date(parseInt(today.getFullYear()), 12, 6);
if(parseInt(today.getMonth())==11)
{
var theoccasion2 = new Date(parseInt(today.getFullYear()+1), 1, 1);
var theoccasion3 = new Date(parseInt(today.getFullYear()+1), 1, 8);
}
else
{
var theoccasion2 = new Date(parseInt(today.getFullYear()), 1, 1);
var theoccasion3 = new Date(parseInt(today.getFullYear()), 1, 8);
}
mikulas_nap.setMonth(theoccasion1.getMonth()-1);
theoccasion1.setMonth(theoccasion1.getMonth()-1);
theoccasion2.setMonth(theoccasion2.getMonth()-1);
theoccasion3.setMonth(theoccasion3.getMonth()-1);var one_day = 1000*60*60*24;
calculate_mikulas_nap = Math.ceil((parseInt(mikulas_nap.getTime())-parseInt(today.getTime()))/(one_day));
calculatediff1 = Math.ceil((parseInt(theoccasion1.getTime())-parseInt(today.getTime()))/(one_day));
calculatediff2 = Math.ceil((parseInt(theoccasion2.getTime())-parseInt(today.getTime()))/(one_day));
calculatediff3 = Math.ceil((parseInt(theoccasion3.getTime())-parseInt(today.getTime()))/(one_day));
if (calculate_mikulas_nap < 0)
{
var nextyeartoday=new Date();
nextyeartoday.setFullYear(today.getFullYear()+1);
calculate_mikulas_nap = Math.ceil((nextyeartoday.getTime()-today.getTime())/(one_day)+calculate_mikulas_nap);
}
if (calculatediff1 < 0)
{
var nextyeartoday=new Date();
nextyeartoday.setFullYear(today.getFullYear()+1);
calculatediff1 = Math.ceil((nextyeartoday.getTime()-today.getTime())/(one_day)+calculatediff1);
}
if (calculatediff2 < 0)
{
var nextyeartoday=new Date();
nextyeartoday.setFullYear(today.getFullYear()+1);
calculatediff2 = Math.ceil((nextyeartoday.getTime()-today.getTime())/(one_day)+calculatediff2);
}
if (calculatediff3 < 0)
{
var nextyeartoday=new Date();
nextyeartoday.setFullYear(today.getFullYear()+1);
calculatediff3 = Math.ceil((nextyeartoday.getTime()-today.getTime())/(one_day)+calculatediff3);
}
//nov.22-tól dec.5-ig
if ( (calculate_mikulas_nap>0) && (calculate_mikulas_nap<15) )
{
document.getElementById('unnep').innerHTML = '<br \/><div>Még '+calculate_mikulas_nap+' napot alszunk és jön a Mikulás...<\/div>'+
'<br \/><img src="infusions/nevunep_panel/jon_mikulas.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//dec.6-án
if ( (calculate_mikulas_nap==0) )
{
document.getElementById('unnep').innerHTML = '<br \/><div>Gyerekek, megérkezett a Mikulás!<\/div>'+
'<br \/><img src="infusions/nevunep_panel/megjott_mikulas.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//dec.7-tól 24-ig
if ((calculatediff1>0) && (calculatediff1<29) && (calculatediff2<26) && (calculatediff3<33))
{
document.getElementById('unnep').innerHTML = '<br \/><div>Még '+calculatediff1+' napot alszunk és itt a Karácsony...<\/div>'+
'<br \/><img src="infusions/nevunep_panel/jon_karacsony.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//dec.25-én és 26-án
if (calculatediff1==0 || (calculatediff1>0 && calculatediff2==6))
{
document.getElementById('unnep').innerHTML = '<br \/><div>Boldog Karácsonyi Ünnepeket!<\/div>'+
'<br \/><img src="infusions/nevunep_panel/boldog-karacsonyt.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//dec.27-tol dec.31-ig
if((calculatediff1>0) && (calculatediff2>0) && (calculatediff2!=6) && (calculatediff2<7) && (calculatediff3>0))
{
document.getElementById('unnep').innerHTML = '<br \/><div>Még '+calculatediff2+' napot alszunk és itt van Uj Év..<\/div>'+
'<img src="infusions/nevunep_panel/kellemes_unnepek.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//jan.01-tol jan.07-ig
if(((calculatediff1>0) && (calculatediff2==0) && (calculatediff3>0) && (calculatediff3<8)) || ((calculatediff3>0) && (calculatediff3<8)))
{
document.getElementById('unnep').innerHTML = '<br \/><div>Boldog Új Évet!<\/div>'+
'<br \/><img src="infusions/nevunep_panel/boldogujevet.gif" alt="" \/><br \/>';
unnep_idoszak = true;
}
//Ez a rész csak a TESZT kedvéért...
if(!unnep_idoszak)
document.getElementById('unnep').innerHTML = '<br \/><div>Nincs ünnepi idoszak...<\/div>'+
'<br \/><img src="infusions/nevunep_panel/boldogujevet.gif" alt="" \/><br \/>';
} -
adam_
senior tag
válasz
Sk8erPeter #4631 üzenetére
Sk8erPeter, Jim-Y Köszönöm, így már minden világos.
-
Sk8erPeter
nagyúr
Ami miatt egyáltalán nem fut le a kód, hogy ezt írtad:
console.log("Thank you! We should race at the next concert!);nincs lezárva a string, tehát ez helyesen:
console.log("Thank you! We should race at the next concert!");Az összehasonlítás if (feedback > "8") helyett első körben:
if (parseInt(feedback, 10) > 8)
Persze itt semmi értelmes ellenőrzés nincs, normális validáció során megnézed azt is, hogy mondjuk a feedback változó, ami egy string, nem tartalmaz-e nem megengedett karaktereket (pl. betűket, amikor csak számok megengedettek; jelenleg mondjuk ha beírod, hogy "9abc", akkor azt is parse-olni fogja 9-re, de mégsem ellenőrizted, hogy a felhasználó nem gépelt-e be általad nem elfogadott karaktereket, pedig illik, ennek megoldását rádbízom).
Működik az explicit parse-olás nélkül is, ha > "8" helyett > 8-at írsz, DE szerintem sokkal szebb és kezelhetőbb, ha egyértelműen jelzed a kódban, hogy mi is történik, tehát hogy egy stringből kotorsz ki egy egészszám-értéket.Szerk.: egyébként ha rákattintasz a JSHint gombra a jsFiddle-felületen, akkor segíteni is fog, hogy hol van jelenleg elrontva a kódod, érdemes használni, mert így nem akadsz el ilyeneken, hogy egy stringet elfelejtettél lezárni. Meg érdemes figyelni a szintaktika-kiemelésre, mondjuk jelen esetben könnyű volt elsiklani felette.
-
adam_
senior tag
A http://www.codecademy.com/-on csinálom a gyakorlatokat, és az egyik résznél sajnos csak sejtésem van, hogy mi lehet a gond, de ennek ellenére nem tudok továbblépni. A hibaüzenet: SyntaxError: Unexpected token ILLEGAL JSFiddleben beírtam a JS kódot, a HTML fülbe pedig magát a kérdéses feladatrészt. A feedback előtti részeken simán végigment, de ezt követően a feedbacknél szerintem az if ágban valami probléma van. Ugyanis gondolom a promptban bekért szöveget nem tudja összehasonlítani mint számot, hogy kevesebb vagy több az adott érték.. Mit gondoltok, hol a kérdéses hiba?
-
Sk8erPeter
nagyúr
"»» month: Integer value representing the month, beginning with 0 for January to 11 for December. [link]
Kíváncsi lennék, ki volt az az idióta, aki ezt ilyenre kitalálta, és miért tette. De igazából az egész Date objektum egy állatorvosi ló a mit ne típusú JavaScript programozói hibák szemléletes bemutatására."
Ó, hogy ezzel milyen messzemenőkig egyetértek.Pontosan ugyanez jutott eszembe a téma kapcsán, csak nem akartam megint fikázódni.
Ott kezdődik, hogy dátumoknál teljesen értelmetlen ez a 0-tól való számozás, amikor konkrét hónapokról, meg napokról van szó, de egyéb gondok is vannak.(#4612) Jim-Y:
Ez jópofa. -
dqdb
nagyúr
Ha nullával kezdesz egy kizárólag számjegyekből álló numeric literalt, akkor az JS-ben (és egyéb C-szerű szintaktikából eredeztetett nyelvekben) azt jelenti, hogy nyolcas számrendszerben adtad meg az értéket. Mivel nyolcas számrendszer, így abban csak a 0-7 számjegyek érvényesek, a 9 nem.
27= 0x1b = 033
Szóval szépérzéktől vezéreltetve ne írd ki a kezdő nullákat sosem, mert csúnya meglepetések érhetnek miatta.
month: Integer value representing the month, beginning with 0 for January to 11 for December. [link]
Kíváncsi lennék, ki volt az az idióta, aki ezt ilyenre kitalálta, és miért tette. De igazából az egész Date objektum egy állatorvosi ló a mit ne típusú JavaScript programozói hibák szemléletes bemutatására. -
adam_
senior tag
Köszönöm, így már jó!
Igen, és épp most nézem a lynda.com oktatóvideóját, és abban is taglalva van, hogy "0-11"-ig mennek pl. a hónapok:
-
adam_
senior tag
Az alábbi kód valamiért nem fut le Firebugban, a következő a hibaüzenet:
SyntaxError: 09 is not a legal ECMA-262 octal constant
var myDate = new Date(1989,09,24);Előre is köszönöm a válaszokat!
-
tick
aktív tag
Sziasztok!
Probált már valaki selenium webdrivert használni node.js-ben desktop applikációként? (pl. app.js)
Ha igen, mennyire használható? Vagy túl merész elképzelés?
(egy java projectet ültetnék át, winen és linuxon is futna) -
Jim-Y
veterán
Sziasztok.
Egy kis segítséget szeretnék kérni.
Arra szeretnék ötleteket kérni, hogy az aszinkron wait műveleteket hogyan tudnám pomiszokkal? úgy kezelni mintha szinkron műveletek lennének. A promise-okat egy ciklusban gyártom, és minden szubszekvens promisznak meg kéne várnia az előző promise fulfilljét mielőtt ő is rezolválná magát.
Tudom ez egy kicsit túl hunglish lett, ne haragudjatok miatta, de még mindig így tudtam a legértelmesebben leírni, hogy mit szeretnék
Magyarul ezt szeretném dinamikussá és promiszolhatóvá tenni:
39 led.on();
40 self.wait(300, function() {
41 led.off();
42 self.wait(100, function() {
43 led.on();
44 self.wait(300, function() {
45 led.off();
46 self.wait(100, function() {
47 led.on();
48 self.wait(300, function() {
49 led.off(); // stb..
50 });
51 });
52 });
53 });
54 });Az majdnem olyan mint egy strobe effekt, de nekem most nem az kell. Az kell, hogy az egymás után keletkező timeoutokat be tudjam várni..
szerk: esetleg ha magát a wait-et denodify-olnám?
-
Jim-Y
veterán
-
Jim-Y
veterán
Diák: #FP in #JavaScript
-
DNReNTi
őstag
LOL.
Bocs ha már vót. -
Jim-Y
veterán
Egyebkent, csak ilyen FYI jelleggel, itt egy alternativa a closure-re.
-
CSorBA
őstag
válasz
fordfairlane #4605 üzenetére
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.
-
CSorBA
őstag
válasz
Sk8erPeter #4556 üzenetére
Sk8erPeter @ 4556:
Köszi, illetve Jim-Y-nek is az összefoglalójáért.Zedz @ 4556:
"valószínűleg juniorként még egy darabig nem is leszek"Hehe, ebben sosem lehetsz biztos. Én mikor tavasszal a jelenlegi munkahelyemen kezdtem juniorként, a következő héten pont az alábbiakkal kellett megismerkednem: Grunt, Yeoman, Bower. Ráadásul én az összes programozási tudásom közül, mindig a js-el álltam kicsit hadilábon, és ha már itt tartunk, a mai kérdés:
All:
Probléma: jsfiddle: ow2xow84 (Ugye a child elementeken is ellövődik.)
Megoldás: jsfiddle: o8f5hy6mEnnél jobb javaslat?
-
Jim-Y
veterán
Hát, egy nagyobb nem koca projekten, szinte minden esetben előjönnek olyan repetitív folyamatok, amit a programozóknak időről időre meg kell tenniük.
Egy projekt életciklusát alapul véve:* dependenciák letöltése, architektúrába integrálása stb..
* az elkészült modul lintelése, hibák felderítése
* tesztek futtatása
* modulok összecsomagolása (bundling)
* transpiling, például a következő nem stabil javascript verzióban megírt modulok stabil javascriptre buildelése
* különböző transpile to js modulok js-re buildelése
* az elkészült js csomag minifikálása
* az elkészült html fájlok minifikálása
* az elkészült css fájlok minifikálása
* a css preprocesszorokban megírt stílusfájlok css-re konvertálása
* fájlok másolása egyik helyről egy másik helyre, például production build másolása X helyre
* satöbbi satöbbi satöbbiA lényeg, hogy ami repetitív könnyen automatizálható folyamat, azt nem kell kézzel megcsinálni hanem a build toolok megteszik helyettünk.
Miért jó? Például nem mindegy, hogy a mobilról netezőknek mekkora méretű forrásfájl-t, forrásfájlokat kell letölteniük, mivel rendszerint a mobilról netezők mobilnettel rendelkeznek, ott meg nagyon nem mindegy, hogy 1mb az oldalad, vagy 100kb. -hasraütöttem-. Ezért célszerű minifikálni az elkészül applikációt amivel a méretet lehet csökkenteni. Ezt rendszerint nem egyszer fogod megcsinálni, hanem több ször, lehet, hogy sokszor.
1. első esetben kézzel csinálod mindig, nem nehéz a parancs, kb vmi ilyen "uglify /lib/**/*.js" vagy "uglify build/bundle.js -o build/bundle.min.js" Nem nehéz ugye? De mi van ha már nem csak ezt szeretnéd csinálni, hanem még 5-6 hasonló parancsot futtatni. Olyankor ez már teher.
2. második esetben használsz valamilyen build toolt, ahol taskokat definiálsz, és az előzőleg 5-6 különböző buildelési lépést egy paranccsal tudod kiadni, például "grunt dist"
Új hozzászólás Aktív témák
Hirdetés
- MasterDeeJay: Alacsony fogyasztású házi szerver a korábbi projektekből összeépítve
- Kerékpárosok, bringások ide!
- Kiválthatja az AI az egeret és a billentyűzetet?
- Xiaomi 16: önfejlesztés önfotós oldalon
- Battlefield 6
- Gitáros topic
- Sorozatok
- Miért álltak az oldalak egy hétig, mi történt?
- Telekom mobilszolgáltatások
- Milyen légkondit a lakásba?
- További aktív témák...
- LG 27GR95QE - 27" OLED / QHD 2K / 240Hz & 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- Telefon felvásárlás!! Samsung Galaxy A22/Samsung Galaxy A23/Samsung Galaxy A25/Samsung Galaxy A05s
- LG 27GP850P-B - 27" NANO IPS - 2560x1440 - 180Hz 1ms - NVIDIA G-Sync - AMD FreeSync - HDR 400
- REFURBISHED - Lenovo ThinkPad 40AC Thunderbolt 3 docking station
- billentyűzetek - kiárusítás - Logitech, Corsair, ASUS
Állásajánlatok
Cég: FOTC
Város: Budapest