Új hozzászólás Aktív témák
-
jocomen
aktív tag
Ha jól értem:
1. xml tartalmát akarod adatbázisba másolni: LOAD XML Syntax
2. el szeretnél tüntetni vesszőket oszlopokból: remove unwanted character from columnUPDATE myTable SET myColumn = REPLACE(myColumn, ',', ' ')
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
válasz jocomen #12001 üzenetére
Rosszul érted. Itt leírta az eredeti problémát, itt meg a további fejleményeket. Van egy XML-je, abban az egyik tagnél ömlesztve vannak termékadatok, pont ezeket szeretné széjjelválasztani regexppel, ami nem triviális probléma. Ha eltávolítaná belőle a vesszőket, azzal pont nem oldana meg semmit, csak rontana a helyzeten. Nekem még nem volt időm/kedvem ráfeküdni a témára, hogy mi is a megfelelő regexp, mert ilyen esetben nem olyan egyszerű. (Most meg másnapos vagyok. )
+ (#11931) GG888
Sztem mindenesetre én azzal kezdeném, hogy először leválasztanám az egészről a terméknevet, és csak aztán bűvészkednék a többi adattal, mert úgy egyszerűbbnek tűnik. Azzal meg úgy, hogy a vessző utáni kettőspontig tartana az adattípus megnevezése, aztán az érdemi adat, és elvárnám, hogy a kifejezésben legyen mindig kettőspont (tehát csak úgy lenne szétválasztható, hogy egy kifejezésben mindenképpen van kettőspont is, nem csak vessző mentén robbantgatnék), ahogy látom, a kolléga is ezzel próbálkozott, csak még nem jutott a végére.[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz PumpkinSeed #11975 üzenetére
"Még csak most ismerkedem a JS-el, de számomra érthetetlen a működése egyenlőre."
egyenlőre --> egyelőre
Melyik része érthetetlen? Amúgy a JavaScript topicban szívesen segítünk, meg az összefoglalóban be van linkelve pár hasznos link.Sk8erPeter
-
jocomen
aktív tag
válasz Sk8erPeter #12002 üzenetére
Szerintem nem nézted végig figyelmesen az első linket. Abban van hasonló problémára sablon. Egy <tag>-en belüli tulajdonságokat több oszlopba pakol szét.
CSAK bizonyos vesszők eltávolítása meg már a táblákban történne, amire a második linkben van sablon. Pl 'vessző+szóköz'-t cserélhet ki 'szóköz'-re.Elhiszem, h a megoldás abban a formában nem triviális, ahogy próbálja, mert azt nem ismerem. Ettől még lehet egyszerűbb megoldása más formában. Már ha adatbázisba akarja egyáltalán menteni.
<person person_id="2">
<fname>Mary</fname>
<lname>Smith</lname>
<address address_id="3" street="River Road" zip="80239" city="Denver"/>
<!-- <address address_id="4" street="North Street" zip="37920" city="Knoxville"/> -->
</person>
CREATE TABLE `person` (
`person_id` int(11) NOT NULL,
`fname` varchar(40) DEFAULT NULL,
`lname` varchar(40) DEFAULT NULL,
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`person_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
CREATE TABLE address (
address_id INT NOT NULL PRIMARY KEY,
person_id INT NULL,
street VARCHAR(40) NULL,
zip INT NULL,
city VARCHAR(40) NULL,
created TIMESTAMP
);[ Szerkesztve ]
-
Sk8erPeter
nagyúr
válasz jocomen #12004 üzenetére
"Szerintem nem nézted végig figyelmesen az első linket."
Nem, nagyon látszik, hogy te nem érted még mindig, hogy miről van szó, és nem nézted végig figyelmesen az összes előzményt. Bár elég lett volna csak az elejére odafigyelni. Direkt még be is linkeltem. A példád meg nagyon rossz, mert abból pont rohadt egyszerű kihámozni az adatokat. Abból, amit GG888 említett, nagyon nem ennyire triviális. A konkrét problémával kapcsolatos megoldásra vágyott a kolléga, nem ilyen 2 perc alatt kiguglizható, általános jellegű cikkekre.
Próbáld meg még egyszer értelmezni az egészet. Nem ártana megnézned a kérdező által belinkelt példákat is, abból valószínű, hogy már jobban megértenéd, hol is akadt el.Sk8erPeter
-
nickrivers
csendes tag
válasz nickrivers #11987 üzenetére
Úgydöntöttem, hogy hagyom a wamp szertvert... eddig xamp volt fennt az működött rendesen. Szóval visszarakom a xamp-ot és beállítom újra. Az a kérdéem, hogyha a Joomla! telepítőfájljait a "htdocs" mappába, akkor elvileg ugyanúgy kell használni, mintha wamp-on dolgoznék, ugye ?
-
PumpkinSeed
addikt
válasz Sk8erPeter #12003 üzenetére
A PHP szerveroldali nyelv, melynek működése egyszerű, mert elkészíti a HTML kimenetet és annyi, de a JS kliensoldali ami folyamatosan odafigyel az eventekre és azok hatására vált ki változásokat, na ezek az eventek érthetetlenek számomra, mert legtöbbször a számomra logikus működés ellenére teljesen máshogy működnek. Itt van például a setTimeout is aminek igaz köze nincs az előbb említett dologhoz, de a múltkori példából látva annyit szenvedtem vele, hogy működjön és több napi sza*akodás után sem sikerült működésre bírni. Kerestem egy olyan egyszerűbb megoldást mint például C-ben a delay(), na de hát nem volt..
Illetve azt se értem, hogy van a for ciklus amiben volt a setTimeout, és a for ciklus ciklusváltozójának elvben sorba kellett volna lépkednie 0,1,2,3,4,5 de a setTimeout mind az 6 lépésben az 5-t kapta meg értékképpen. Ez is érthetetlen volt számomra..
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
Jim-Y
veterán
válasz PumpkinSeed #12007 üzenetére
javascript_topic_hsz_4225-4228
Amúgy csak azért nem érted a javascriptet, mert nem tanultál még eleget belőle. Nem olvastál el elég cikket/tutorialt/doksit. Ilyen egyszerű..
[ Szerkesztve ]
-
GG888
senior tag
válasz jocomen #12004 üzenetére
Valóban Sk8erPeter kollégának van igaza, nem ilyen triviális problémám van, hanem a paraméterek beolvasásával van gondom, párszor már dolgoztam fel xml-t, sőt vannak közel 2 éve megírt áttöltőrendszerek amik a mai napig működnek hibátlanul.
Az alap felállás az, hogy saját hardver webshopot írok, bitcoin, meg bankkártyás fizetéssel, nulláról. Van rendes xml adatbázisa a nagykernek, de az 16e + ÁFA / hó és legalább fél évet alá kell írni. Ez a webshop szolgáltatás része, amire többször is felhívtam a figyelmet, hogy semmi szükségem.
Ehhez további kedves szavakat fűztem, és maradok a csúnyább xml-nél.
Annyit kéne megoldani, hogy minden kettőspont előtti utolsó vesszőt találjon meg a regex.
Így nem is tűnik nehéznekEgyelőre így áll a dolog, de az utolsó bekezdésben az SD, SDHC, SDXC szavak utáni vesszőket is megtalálja ami hiba.
http://regexr.com/398shKöszöntem a figyelmet.
Már elgondolkodtam PHP-n is, strstr() és társaiból lehetne talán valami függvényt csinálni, ami végigszalad az egész kódon és a kérdéses karaktereket kicseréli valami egyedire, nem használtra, mondjuk dollárra, vagy kukacra, vagy ilyenre ~....
Ahhoz ti melyik alapfüggvény(eke)t használnátok?[ Szerkesztve ]
pcmodding.hu | PC MODDING | Minden, ami modding, verhetetlen árak.
-
Sk8erPeter
nagyúr
válasz PumpkinSeed #12007 üzenetére
"A PHP szerveroldali nyelv, melynek működése egyszerű, mert elkészíti a HTML kimenetet és annyi"
AHAAA, valóban. Csak ennyire való, azt' kész is. A PHP EGYETLEN dolga ez. (Bocs, ezt nagyon szórakoztató így fél 1-kor olvasni, nagyon jót röhögtem. )"na ezek az eventek érthetetlenek számomra, mert legtöbbször a számomra logikus működés ellenére teljesen máshogy működnek"
Mi a számodra logikus, és hogy működik valójában?A setTimeout és setInterval egyébként elég logikusan működik, a működése dokumentációból elolvasható.
A többit Jim-Y kb. leírta.
Igazából jó lenne tudni konkrétan, hogy mit nem értesz, mert a semmire nehéz válaszolni.Sk8erPeter
-
Sk8erPeter
nagyúr
"Van rendes xml adatbázisa a nagykernek, de az 16e + ÁFA / hó és legalább fél évet alá kell írni"
Mondjuk azt nem értem, miért az a "rendes" adatbázis, ami XML-formátumú. Bár az is feldolgozható, na de akkor már miért nem valami SQL dump a "rendes" adatbázis?
Amúgy nem teljesen értettem a dolgot: akkor végül is van egy kiskereskedésed, amihez egy nagykerből rendeled a termékeket, és az ő adataikat szeretnéd felhasználni, hogy aztán legyen saját honlapod belőle a céged számára, csak ezekért az adatokért fizetni kell? Vagy mi?A regexpet majd megpróbálom megnézni, ha van egy kis időm/energiám, csak ezekből mostanság nem sok adódik.
Az OFF-ba rakott részre: túl sok mindent az sem oldana meg, ugyanúgy kellene valami "szabály" rá, hogy miszerint cserélgessen karaktereket, mint a reguláris kifejezésnél.Sk8erPeter
-
PumpkinSeed
addikt
válasz Sk8erPeter #12010 üzenetére
Röviden akartam elmondani a lényeget... Gondolom megérted, ha nem neked akarom elmagyarázni mire való a PHP..
"Illetve azt se értem, hogy van a for ciklus amiben volt a setTimeout, és a for ciklus ciklusváltozójának elvben sorba kellett volna lépkednie 0,1,2,3,4,5 de a setTimeout mind az 6 lépésben az 5-t kapta meg értékképpen."
Igazából ez volt a probléma. De amit Jim-Y linkelt, olvasgatom, de nem értem..for (var i = 1; i < 6; ++i) {
cont.addEventListener('click', function () {
console.log(i);
});
}
i = 10;Itt az i = 1 miatt az első i értéke 1 lesz amit elvben a console.log(i); 1-ként adna le. Majd a for ciklus lép tovább és kiírja a következő számot is. Nekem ez lenne a logikus, de valamiért mégis a for cikluson kívül eső értékmeghatározás lesz a nyerő, ezért 5x kiírja a 10-et. Na ezt nem értem, és próbálgattam Jim-Y magyarázatát értelmezni, de nem nagyon értettem meg, hogy miért viselkedik így.
[ Szerkesztve ]
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
GG888
senior tag
válasz Sk8erPeter #12011 üzenetére
"Amúgy nem teljesen értettem a dolgot: akkor végül is van egy kiskereskedésed, amihez egy nagykerből rendeled a termékeket, és az ő adataikat szeretnéd felhasználni, hogy aztán legyen saját honlapod belőle a céged számára, csak ezekért az adatokért fizetni kell?"
Ennél pontosabban nem is tudtam volna megfogalmazni.
Még az is hozzátartozik, hogy a fizetős xml óránként frissül, a mostani, ami a b2b felületről származik az pedig mindössze napi 3szor. De én 100 forint eltérésen nem fogok összeveszni senkivel, annyiért kapja, amennyiért rendeltepcmodding.hu | PC MODDING | Minden, ami modding, verhetetlen árak.
-
Jim-Y
veterán
válasz PumpkinSeed #12012 üzenetére
Ez azért van, mert a javascript event-driven.
Úgy képzeld el a dolgot, hogy
- van egy stack-ed, pontosan egy, ez az úgynevezett call stack. Amikor a js interpreter elkezdi a kódot feldolgozni, akkor ez történik (kb, pontosan azért én se tudom)
A példakód:
console.log("Start");
for (var i = 1; i < 6; ++i) {
cont.addEventListener('click', function () {
console.log(i);
});
}
console.log("Stop");A stackbe bekerül egy console.log, kiírja, hogy "Start", majd kikerült a stackből, jön a ciklus, bekerül a stackbe egy addEventListener, majd történik valami magic, és kikerül a stackből (a magic-ről később..), ugyez megtörténik még 5x a ciklus miatt. Majd bekerül a stackbe egy console.log és kiírja, hogy "Stop", majd kiürül a stack.
Magic:
Nem csak egy stack-et kell elképzelni, hanem még más dolgokat is, attól függően, hogy milyen környezetben vagyunk. Nézd meg a következő képet. Baloldalon fent, ott a call stack, jobbra a pirosas négyzet browser környezetben a webapis, alul az eventloop, és a message-queue.
Amikor írtam, hogy magic történik az addEventListenerrel, akkor tulajdon képpen az történik, hogy az addEventListener a webapi része, és van neki egy callback-je. Ezt felismeri a runtime, és az addEventListener függvényt továbbpasszolja a webapi-nak, ahol a hozzá definiált callback bekerül a message-queue-ba. És addig vár ott, amíg meg nem történik a click esemény a bizonyos elemen.
Plusz dolog, hogy javascriptben a belső függvények (nem tudok jobb szót:S) magukkal cipelik/látják az őket befoglaló környezetet. Ez a példában azt jelenti, hogy az addEventListener-ben definiált anonim függvény cipeli magával a for ciklust tartalmazó függvény környezetét. Ebben a környezetben az i változó deklarálva lett, így az anonim függvényekben is lesz rá mutató "referencia". Érdemes megjegyezni, mert ez a lényeg, hogy a környezet ilyenkor megosztott, tehát az anonim függvény NEM másolja le az i változó aktuális értékét a saját scope-jába, hanem a saját scope-jába bekerül a külső i-re egy "referencia".
Biztos rossz a szóhasználatom, vagy nem pontos, de ez a lényeg.
De térjünk vissza a message-queue-ra, ahol már ott csücsül az addEventListener-ben definiált callback, scope-jában az i. Ha megtörténik a click esemény, akkor az event loop kiszedi a message-queue-ból a callback-et és ráteszi a stack-re, ahol lefut majd a callback. Nálunk a callback kiírja az i változó értékét. Mivel ez a callback magával cipelte az i-t, ezért megnézi, hogy a külső környezetben mennyi is az i értéke (az i értéke ekkor már 5) majd kiírja. Ugyanez megtörténik még 4x, mert ugyanarra az elemre, és ugyanarra az eseményre (click) összesen 5 callback-et definiáltunk, tehát az event loop összesen 5x emel át callbacket a stack-re.
Ezért lesz 5x "5" kiírva.
Ugyanez videón, illetve írásosan. Előbbit már láttam, utóbbit még nem olvastam.
[ Szerkesztve ]
-
addikt
Sziasztok!
Kinek melyik tárhelyszolgáltató vált be? Weblapot készítek egy ismerősömnek és nem szeretnék mellényúlni a hostingnál. Köszi a válaszokat!
Edit: természetesen fizetős is jöhet.
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
válasz PumpkinSeed #12012 üzenetére
Ha megfogadsz egy tanácsot, ne azzal töltsd az időt, hogy ezt próbálod megérteni, mert totál felesleges, kezdőknek szerintem nagyon rossz példa. Csak arra jó, ha ilyen feladványokon töröd a fejed, hogy elvegye a kedvedet az egésztől, és még jobban összezavarjon. Mindig is rossz pedagógiai módszernek tartottam, amikor kezdőket szívatnak ilyen "na vajon miért így működik, kitalálod, úgy, hogy még semmi rálátásod nincs az egészre?"-jellegű feladatokkal. Egyetemeken is bevett szokás, de hülyeség.
A kezdőnek először az a fontos, hogy sikerélménye legyen. Hogy örüljön, hogy jé, ez a kód csinál valamit, hoppá, ez pont azt, amit szerettem volna, valami változik/reagál/mozog/működik, hmm, ez most nem megy, ja, de ettől már igen, aha, értem, akkor legközelebb is így csinálom, hú, hogy is írták, aha, így fasza, stb... Inkább így közelítsd meg első körben, aztán ráérsz még megérteni a belső működést, és így csiszolódik a kódod is. Ha nem, akkor majd mi szétfikázzuk, és akkor majd jobban megérted. A számodra egyelőre nem világos rész megértése nélkül is rengeteg egyéb, sokkal érdekesebb feladatot is megoldhatnál.Esetleg ezt is megnézhetnéd az alapokhoz:
http://www.learneroo.com/modules/64
Múltkor valaki ajánlotta ezt a learneroo-t a Programozás topicban, onnan jutott eszembe, így gyors ránézés alapján nem tűnik rossznak gyors áttekintés gyanánt. De amúgy biztos van még n+1 jó, tanulásra szolgáló oldal, csak így kapásból sosem tudok ilyeneket mondani.
Mindenesetre a JavaScript topic összefoglalójában van még jópár hasznos link.(#12014) Jim-Y :
Ha most kezdő lennék, ebből egy büdös szót nem értettem volna. Tele van olyan kifejezésekkel, amik evidens, hogy egy kezdő számára még magasak (és nem azért, mert hülye, hanem azért, mert még örül, hogy egy pársoros kódot átlát). Mindenképp értékelendő az erőfeszítés, hogy próbálod elmagyarázni, de ha már így teszel, és egy kezdővel van dolgod, gondolj vissza, milyen volt, amikor még Te is kezdő voltál, és mennyire örültél, ha valaki el tudta magyarázni konyhanyelven is azt, amit nem értettél, és hogy viszont úgy érezted, szétrobban a fejed, amikor egy szakszavakkal teli magyarázatot elolvastál.Sk8erPeter
-
fordfairlane
veterán
válasz PumpkinSeed #12012 üzenetére
Osztom az előző véleményeket, ne ezekkel foglalkozz.
A programozásnak az egyik legnehezebben megérthető és kezelhető problémája, az ún. konkurencia, amikor időben párhuzamosan, vagy inkább ütemezetten, párhuzamosnak látszó módon egyetlen végrehajtói egység több feladatot lát el. Ez a fajta végrehajtási modell számos problémát vet fel, jellemzően pl. azt, hogy a (látszólag) párhuzamosan végrehajtott szálak hogyan kommunikálnak egymással, hogyan osztják meg az adatokat egymást közt.
JAVA-ban erre való a szálkezelés, Javascriptben az eseményalapú aszinkron feldolgozás. Ez a része a programozásnak önálló tudomány, ami nem kezdő, véleményem szerint az összetettsége miatt még csak nem is haladó szintű téma.
Azt javaslom, hogy ha javascripttel akarsz foglalkozni, márpedig ez a böngészők miatt egyre inkább elkerülhetetlen, akkor ebbe a részbe egyelőre ne ásd bele magad. Foglalkozz inkább azzal, hogy hogyan kell a DOM-ot javascriptből használni, illetve maga a javascript nyelv egyéb alapvető szerkezeteivel (változók, függvények, objektumok, prototipikus öröklődés stb...).
[ Szerkesztve ]
x gon' give it to ya
-
Jim-Y
veterán
válasz Sk8erPeter #12017 üzenetére
Hát, amit először linkeltem, amit még zedz-nek írtam, az konyhanyelven volt. zedz közben írt, hogy köszöni így már érti, úgyhogy ugyanazt nem gondoltam máshogy elmagyarázni, hanem akkor már leírtam még "mélyebben". De amúgy igen, ha teljesen kezdő lennék, akkor biztos én sem értenék semmit abból amit írtam. De hát ez van..ez történik a háttérben
Amit írtál az első blokkban, azzal is egyetértek, annyit viszont megjegyeznék, hogy pár héttel ezelőtt pont ő csinált a sliderrel ilyen példát. setTimeout, benne ciklus változó, stb..
"csak így kapásból sosem tudok ilyeneket mondani."
http://www.codecademy.com/en/tracks/javascript
https://www.khanacademy.org/computing/cs
http://www.reddit.com/r/LearnJavascript itt a jobb oldali oszlop főként.
https://www.codeschool.com/paths/javascript
http://teamtreehouse.com/library/javascript-foundations
http://tutsplus.com/Kb ezek voltak nekem elmentve ilyen témában.
[ Szerkesztve ]
-
fordfairlane
veterán
Igen, a setTimeout, illetve mindenféle eseménykezelés a böngészőben magával vonja azt, hogy foglalkozni kell az aszinkron programozással, de szerintem ezzel is csak annyira kell foglalkozni, amenyire az adott feladat ezt megkívánja.
(Egyébként nem tudom, ki követi a javascript fejlődését, de pl. az ES 6-ban, és ezzel az új node.js-ben felbukkanó "promise"-ok szerintem pont azt szolgálják, hogy az aszinkron modellnek adjanak egy jobban érthető és követhető programozási modelljét.)
[ Szerkesztve ]
x gon' give it to ya
-
Jim-Y
veterán
válasz fordfairlane #12020 üzenetére
"ES 6-ban felbukkanó "promise"-ok"
Ez nem az ES6-ban felbukkanó technológia. Itt a [link] link, és már most is van rá több implementáció. jQuery deferred, Q (npm), Promise (npm), a mongoose api is magába foglalja már. Sőt a chrome-ban is benne van.
Próbáldd ki, írd ezt be a webkonzolba:
function doTheTrick(resolve, reject) {
var rnd = Math.random();
rnd > 0.5 ? resolve("Yee") : reject("Doh");
}
var promise = new Promise(doTheTrick);
promise.then(function(succ) {
console.log(succ);
}, function(err) {
console.log(err);
});Abban viszont tökéletesen igazad van, hogy ez egy olyan dolog, amit ismerni, és használni kell!
[ Szerkesztve ]
-
Jim-Y
veterán
https://github.com/aheckmann/mpromise
Ha esetleg majd node-ban dolgoztok, akkor vessetek egy pillantást a fenti modulra, számomra az egyik legszimpatikusabb promise implementáció. Nekem valahogy jobban kezelhető mint amit amúgy a specifikáció előírna.
-
PumpkinSeed
addikt
Ha a mondandód lényegét nem is de pár dolgot megértettem belőle. De többször is elolvastam és nem egyszerű.
(#12017) Sk8erPeter
A JS összefoglalóból már elkezdtem nézni Douglas Crockford videóit, de eddig a youtube-n nézett videók közül nem sok értelmeset találtam.
(#12018) fordfairlane
Köszönöm a te válaszod is.
(#12019) Jim-Y
Megnézem ezeket a linkeket is.
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
bicajoskema
tag
Sziasztok
Szeretnék az egyszerű wordpresses weboldalamhoz egy új bannert ( lehet rossz szót használtam, de az a kép ami felül van és minden oldalon látszik) készíteni. Nem vagyok képszerkesztő mágus , de gondolom türelemmel meg angol tudással illetve youtube-al minden megoldható.
Egy egyszerű fa háttér kellene nekem meg rajta egy felirat, de amit eddig csináltam az elég "paintes" lett.
Egy olyan oldalt keresnék ahol van párszáz ilyen banner, hátha el tudnék akkor valamerre indulni.
előre is köszi
üdv -
_ak_
addikt
Üdv,
Ez vajon hogyan működik, ill. hogyan tudnám működésre bírni?
Egyedi Bootstrap confirmation gomb.Ebben a formában nekem ismeretlen változót ír a konzol.
[ Szerkesztve ]
Let's begin, de gozaimasu!
-
_ak_
addikt
válasz fordfairlane #12027 üzenetére
jQuery be van húzva. Működőképes ez így egyáltalán önmagában? Nem teljesen értem a, hogy hogyan is kéne működnie.
Let's begin, de gozaimasu!
-
Jim-Y
veterán
MegcsináltamElmentettem helyetted. http://jsfiddle.net/Jim_Y/s10zh4sm/[ Szerkesztve ]
-
Sleed
aktív tag
sziasztok,
tud valaki olyan rendszert, amivel felhasználó értékeléseket lehet kezelni?
nem tudom jobban megfogalmazni, itt egy példa: markmyprofessor.comOlyanra gondolok, amit lehet pl wordpress alá telepíteni.
Lehet fizetős is persze.köszönöm
-
Phvhun
őstag
Minden ilyen problémára egy köpésnyire van a megoldás. Fordítsd át a problémádat angolra, és használd a Szendvics Formula™ nevű cuccot google keresőben:
Wordpress + Probléma + Plugin
Tehát ebben az esetben:
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
"Próbáltam jsfiddle példát csinálni, de kiszedték a mentés funkciót..."
Na ez most nekem is új volt, ez nagyon a közelmúltban történhetett, most már be kell jelentkezni ahhoz, hogy látsszon a Save gomb.(#12019) Jim-Y :
"Amit írtál az első blokkban, azzal is egyetértek, annyit viszont megjegyeznék, hogy pár héttel ezelőtt pont ő csinált a sliderrel ilyen példát. setTimeout, benne ciklus változó, stb.."
Hát igen, ez tény, de erre meg már korábban írtam neki részletesen, hogy kb. pont a legrosszabb tanulópéldák egyikét választotta. Egy jó slider készítése (több opcióval) tökölős meló, nem is egy potenciális buktatóval, macerával (miért nem jó az animálás, stb.), abszolúte nem kezdőnek való feladat. Nem is értettem, minek szenved vele, amikor tényleg tonnányi kész slidert lehet találni (én se szarakodnék ilyennek a megírásával, tök felesleges időpocsékolás).Köszi a linkeket! Jól jöhet linkelgetéskor, még ugyan nem néztem meg őket, de majd esetleg be lehetne rakatni a JavaScript topic összefoglalójába.
Sk8erPeter
-
Jim-Y
veterán
Sziasztok
Markdown témában szeretnék kérdezni. A Markdown parser egy plugin segítségével automatikusan legenerélja a headerekhez az anchor-t, így tudok olyan url-t készíteni ami a fejezetekre mutat.
Pl
## Installation -ből ezt generálja:
<h2 id="installation">Installation</h2>Gondoltam akkor teszek mögé egy permalink icon-t, hogy könnyebben másolható legyen az url
## Installation[![permalink](/assets/permalink.png)]({{page.url}}#installation)
Ebből ezt generálja
<h2 id="installation">Installation<a href="/linux/2014/08/08/howto-subversion/#installation"><img src="/assets/permalink.png" alt="permalink"></a></h2>A gondom, hogy ilyenkor a kép egy új sorban jelenik meg, nem pedig ahogy jó lenne, a header szövege után közvetlen.
Nincs valakinek ötlete, hogy ezt hogyan lehetne orvosolni?
-
Sk8erPeter
nagyúr
CSS-sel. Gondolom valamiért az az <a> vagy épp az <img> tagen nem a default display: inline; tulajdonság van beállítva, hanem mondjuk display: block; vagy hasonló, de ezt nézd meg.
A legenerált markup amúgy jó.
Ezt a jelet egyébként úgy szokták inkább megadni, hogy a szöveg ELÉ kerüljön, legalábbis én többször láttam úgy, mint pl. itt.Sk8erPeter
-
Jim-Y
veterán
válasz Sk8erPeter #12036 üzenetére
Köszi, tényleg volt rajta display:block, felülírtam, így már pöpec
Sajnos azzal többet kéne foglalkoznom, hogy az elején legyen, erre meg ennyi időt nem szánok, úgyhogy még annyit csináltam, hogy alapból az opacity elég alacsony, ilyen 0.3, hoverre pedig 1. Jelenleg ez így jó lesz. Köszi
[ Szerkesztve ]
-
indigo
aktív tag
A segítségeteket kérném az alábbi kérdésben.
Itt az egyszerűsített példa: LINK
(JSFiddle-ben nem tudtam külső html fájlokat hozzátenni, ezért esett a választásom erre)jQuery .load() függvényét használtam a menüpontokhoz, illetve az első kettőhöz (Home, About), mert ez a kettő elég a problémámhoz. Ha rájuk kattintok, akkor a load függvénnyel meghívja az adott html oldalt és betölti a contentContainer DIV-be.
A kérdésem: hogy hogyan oldjam meg, hogy ugyanebbe a DIV-be kerüljön meghívásra az erről az oldalról való hivatkozás is? Konkrétan bele írtam, hogy "Hogy betöltsön az About oldal ennek a helyére, kattints IDE." és azt szeretném, ha rákattintok az IDE feliratra, akkor az About.html töltődjön be a meglévő helyére (load függvénnyel). -
-
martonx
veterán
válasz indigo #12041 üzenetére
A .on esetében egy felsőbb biztosan létező DOM elemhez szokás kötni az esemény elkapást, és azon belül szűrni a megfelelő selectorral a megfelelő DOM elementre. Ahogy példát is írtam.
Másrészt, ha a menü elemeid mindig léteznek, akkor nincs sok értelme a .on-nak, helyette egy sima .click jobb lenne.
Kicsit olvass utána a javascriptnek, jquery-s esemény kezelésnek, és máris érteni fogod, hogy miről beszélek. Addig nincs értelme többet mondanom, és kérdezned sincs sok értelme.Én kérek elnézést!
-
Sk8erPeter
nagyúr
válasz martonx #12042 üzenetére
"A .on esetében egy felsőbb biztosan létező DOM elemhez szokás kötni az esemény elkapást, és azon belül szűrni a megfelelő selectorral a megfelelő DOM elementre. Ahogy példát is írtam.
Másrészt, ha a menü elemeid mindig léteznek, akkor nincs sok értelme a .on-nak, helyette egy sima .click jobb lenne."
Az utóbbira: pedig jól használta az .on()-t, lásd a példát a hivatalos oldalon:
http://api.jquery.com/on/"Example: Display a paragraph's text in an alert when it is clicked:
$( "p" ).on( "click", function() {
alert( $( this ).text() );
});
"Szóval nem kötelező a selector (nem is csak AJAX-szal betöltendő elemekre használható ez a metódus), SŐT, valójában a .click() csak egy shorthand method az .on()-ra! Lásd a source-t:
http://james.padolsey.com/jquery/#v=2.0.3&fn=jQuery.fn.clickfunction (data, fn) {
return arguments.length > 0 ? this.on(name, null, data, fn) : this.trigger(name);
}(Ez a fenti most szépen "ki van bontva", az eredeti source code-ban így látható:
jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
"change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {
// Handle event binding
jQuery.fn[ name ] = function( data, fn ) {
return arguments.length > 0 ?
this.on( name, null, data, fn ) :
this.trigger( name );
};
});
)Persze beszédesebb lehet a .click() (még ha van is overheadje a plusz metódushívás miatt, amivel nem valószínű, hogy itt van értelme foglalkozni).
Sk8erPeter
-
martonx
veterán
válasz Sk8erPeter #12043 üzenetére
Nem is azt írtam, hogy kötelező, hanem azt írtam, hogy szokás, meg javasolt.
Én a kódokban az olvashatóságra törekszek, így ahol lehet igyekszek a megfelelő jquery funkciót használni, a mindenhol használható, abszolút általános .on helyett.Én kérek elnézést!
-
Sk8erPeter
nagyúr
válasz indigo #12041 üzenetére
Most volt egy kis kedvem+időm foglalkozni a dologgal, összedobtam neked:
http://plnkr.co/edit/9KZzy0hNwcy1AV69AI1C?p=previewJópár dolgot kommenteztem a kódban, próbáltam egyszerű példát mutatni, hogy lehet elkerülni az ilyeneket:
$('.menu01').on('click',function(){
$('#contentContainer').load('home.html');
return false;
});
$('.menu02').on('click',function(){
$('#contentContainer').load('about.html');
return false;
});
...EHELYETT sokkal általánosabban kellene megoldani, plusz az sem jó, hogy a teljes dokumentumot akarod betölteni egy divbe, az egész kerettel, <head>-del és mindennel együtt, pedig igazából a body-n belüli rész az érdekes csak. Most itt egy keretet képező divhez hozzáadtam a "content" id-t mindegyik doksinál, és így jelentősen leegyszerűsödött a dolog:
var $contentContainer = $('#contentContainer');
//....
function navLinkOnClick(event) {
// show loading icon
$contentContainer.html($loadingIconElement);
// load content
$contentContainer.load(event.target.href + " #content", function() {
console.log(event.target.href + " has just been loaded.");
// Initialize Cycle2
$('.cycle-slideshow').cycle({
fx: 'scrollHorz',
speed: 'slow',
});
});
return false;
}
// menu links
$('.nav a').on('click', navLinkOnClick);A lényeg, hogy először egy töltőikont jelenítesz meg, aztán betöltöd a link href-attribútumában lévő URL-t, és a kapott tartalom #content selectorának megfelelő elem tartalmát töltöd csak be ténylegesen a célhelyre. (Ja, amúgy végül a kódban használtam a HTML5-ös <nav> taget a menünél.) A Cycle2-t pedig újra kell inicializálni a dinamikusan betöltött elemre.
Egyébként ha nem dinamikusan töltenéd be a tartalmat, a Cycle2-t nem kellene "kézzel" inicializálni, mert automatikusan inicializálódik azokon az elemeken, amelyek el vannak látva a "cycle-slideshow" osztállyal, és a megfelelő HTML5-ös data-*-attribútumokkal (pl. data-cycle-fx="scrollHorz"), amik további információt biztosítanak róla, hogy milyen opciókkal is kellene inicializálni. Lásd a doksit, és további feltétel, hogy ne legyen ellátva a data-cycle-auto-init="false" attribútum-érték párossal (legalábbis ne false legyen az értéke).A dinamikusan betöltött tartalmaknál azokat a "belső" linkeket vettem figyelembe (amire itt írtad, hogy működjön az "IDE" linkre), amelyek el vannak látva a "navigation-link" osztállyal, és az azokra való kattintást figyelem, és ugyanazt az egy darab event handlert használom fel hozzá, amit az előbb írtam:
$contentContainer.on('click', 'a.navigation-link', navLinkOnClick);
Fontos, hogy úgy általában minden programozási nyelvben figyelj arra, hogy ugyanazt a műveletet ne végezd el többször. Itt például a $('#contentContainer') többször is szerepelt a kódodban, ilyenkor a jQuery megfelelő metódusa mindig kikeresi a #contentContainer selectorra illeszkedő elemet a dokumentumból, pedig ezt elég lenne egyszer elvégezni. Ezért a $('#contentContainer') visszatérési értékét tárold el egy változóban, ahogy fentebb tettem.
A <script> tageket a HTML-kód végére tettem, hogy az ott betöltendő tartalom ne akadályozza/késleltesse a dokumentum betöltését.
Ha valami nem tiszta a magyarázatból vagy a kódból, kérdezz.
(#12044) martonx :
Érthető, nem baj, hátha valaki profitált belőle, hogy ezt megdumáltuk.[ Szerkesztve ]
Sk8erPeter
-
indigo
aktív tag
válasz Sk8erPeter #12045 üzenetére
Köszönöm ezt a részletes választ. Bár még nem tudtam kivesézni az általad leírtakat, de arra már rájöttem a korábbi próbálkozásaimból, hogy nem jól használom a load függvényt, mert mindig valami probléma adódik (nem töltődik be teljesen az oldal, nem helyesen hajtja végre a képváltásokat, stb.).
Az általad leírtak alapján újra felépítem az elképzeléseimet. -
#46129152
törölt tag
Sziasztok!
Új vállalkozásba kezdek, és ennek van egy egyszerű weblapja..
Szeretném a weblapon megváltoztatni az elérhetőségeket. Telefonszám, és e-mail cím.
Valaki tudna ebben segíteni?
Ez egy fagyizó-cukrászda Budapesten. Itt tudnám meghálálni a segítségét! :-)
E-mailben kérnék szépen választ.
Köszönöm
69pablotaxi@gmail.com -
Sk8erPeter
nagyúr
válasz indigo #12046 üzenetére
Szívesen. A .load() metódusnál korábban nem adtál meg úgynevezett callback függvényt, ami a betöltődést követően (annak végeztével) lefut, egyébként függetlenül annak eredményétől (a sikeresség ellenőrzése egyébként az én kódomból is kimaradt, most update-eltem), a képváltások miatt a Cycle2-t mindig újból inicializálni kell a lap-újratöltődések során, hiszen a tartalom betöltése dinamikusan történik, a DOM-ba új elemek kerülnek bele, az új elemek viselkedését pedig újból manipulálnod kell JavaScripttel.
A kommentekből, amiket a kódba írtam, ez nagyjából kiderül (pl. a home.html-hez kommenteltem sok Cycle2-vel kapcsolatos blablát, meg a korábbi hsz.-emben is írtam róla).
Egyébként abból, amit írtál, nem nagyon derül ki, pontosan hol akadtál el, vagy mi nem tiszta, úgyhogy inkább kérdezz konkrétan.Sk8erPeter
Új hozzászólás Aktív témák
- Új, bontatlan Samsung S24+ 256 GB black
- Dell Latitude E7270, 12,5" HD Kijelző, i5-6300U CPU, 8GB DDR4, 256GB SSD, W10, Számla, Garancia
- Amazfit I T-REX 2 I GTS 3 I GTR 3 I GTR 3 Pro
- Új Latitude 7440 2-in-1, FHD+ IPS kihajtható érintő, i7-1365U, 32GB DDR5, 512GB NVMe, IR kamera, gar
- Beszámítás! GB H610M i5 13400F 32GB DDR4 1TB SSD RTX 3070Ti 8GB MONTECH AIR 1000 Lite Corsair 650W