JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Gyorskeresés
Legfrissebb anyagok
- Bemutató Spyra: akkus, nagynyomású, automata vízipuska
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
Általános témák
LOGOUT.hu témák
- [Re:] [attilasd:] A laposföld elmebaj: Vissza a jövőbe!
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [sziku69:] Szólánc.
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] Elektromos rásegítésű kerékpárok
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [antikomcsi:] Való Világ: A piszkos 12 - VV12 - Való Világ 12
- [Re:] [Kolondrum:] Éves rezsi
- [Re:] [plevips:] Építkezünk 3. rész (2024)
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Téma összefoglaló
Hozzászólások
kemkriszt98
aktív tag
Hát már ezt is tudom Egyébként még nem nagyon merültem el a Js-es könyvben, ezt a kódot is a 24 órás HTML-es könyv alapján dobtam össze Most már csak az nem világos a példával kapcsolatban, hogy honnan tudja a böngésző, hogy neki azt a kódot kell futtatni? Sehol nem látok erre utalást a HTML kódban. Vagy ez, hogy működik?
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
(#4152) Sk8erPeter válasza kemkriszt98 (#4151) üzenetére
Sk8erPeter
nagyúr
A jsbin.com és a jsFiddle.net is úgy működik, hogy injektálja a kódot az éppen megjelenített oldalba, csak külön-külön paneleket biztosít, hogy szépen szétválasztva tudd szerkeszteni a különböző nyelvekhez (CSS, JavaScript, HTML) tartozó kódokat, pont úgy, ahogy "élesben" is illik, csak élesben annyival egészül ki a dolog, hogy ezekre a fájlokra a hivatkozásokat is beleszúrod az oldaladba.
Ez ekvivalens Jim-Y korábbi megoldásával: http://jsbin.com/tusunami/2/edit
és persze a <script> taget akár a </body> zárótag elé is lehetett volna rakni, ha úgy jobban esik.
(A kódot nincs időm átvariálni saját koncepcióra.)
Sk8erPeter
Jim-Y
veterán
Ez sajnos nem ugyanaz, mintha a body elé tetted volna, mivel nem használtam sem jquery ready()-t, sem body.onload-ot, így a js előbb töltődik be, mitnhogy a DOM-ot felparszolta volna a böngésző. Az én verziómban a külső javascript fájlt, vagy a <script></script> tageket a </body> elé kell rakni.
kemkriszt98: szerintem a könyv előtt/vagy mellett lesd meg a topik összefoglalóját. Sok hasznos infót fogsz benne találni, arra vonatkozóan is, hogy egy kezdőnek mivel érdemes kezdenie. üdv
kemkriszt98
aktív tag
Értem, köszönöm
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
djyuri
őstag
Üdv
Új gondom akadt a java-val Gyakorlatilag mindegy,hogy melyiket telepítem fel,megbukik a legfrissebb verzió csekkoláson. természetesen elküld a frissebbért...letölti,telepíti...és ugyanaz...nagyon idegesítő már..és több gépen is ezt csinálja...
Ötlet valakinek? Köszönöm!
kemkriszt98
aktív tag
Na, létrehoztam egy change.js nevű fájlt ezzel a tartalommal:
var smallImgs = document.querySelectorAll('.small'),
large = document.querySelector('#large');
for(var i=0;i<smallImgs.length;i++){
smallImgs[i].addEventListener('mouseover',changeImg);
}
function changeImg(mouseEvent){
var source = mouseEvent.target,
sourceUrl = source.src;
changeImageSrc(largeImage, sourceUrl);
}
function changeImageSrc(target,url){
target.src = url;
}
és utána ezt a sort a body elem végére (ha az elejére helyezem nem tölt be az oldal):
<script src="change.js"/>
viszont nem nagyon akar működni..
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
Jim-Y
veterán
Mert a script elemet nem lehet igy irni.
Ird igy <script src=""></script>
Sk8erPeter
nagyúr
Hát basszus, őszintén megmondom, rohadtul nem figyeltem erre. De igazad van, sorry.
Bár gondolom Te is kitaláltad, hogy szimpla leszaromságból következett a dolog.
Mindenesetre kösz a korrekciót, jogos.
Sk8erPeter
kemkriszt98
aktív tag
Így se működik...
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
djyuri
őstag
Jim-Y
veterán
changeImageSrc(largeImage, sourceUrl); hellyett
changeImageSrc(large, sourceUrl);
Sk8erPeter
nagyúr
FYI: a Javának nem sok köze van a JavaScripthez, így a topicba sem való. Lásd az összefoglaló első mondatát (nem véletlenül került oda), azt a részt, ami zárójelbe van téve
(#4159) kemkriszt98 :
Természetesen Jim-Y úgy értette, hogy <script src="change.js"><script> formában tedd a </body> zárótag elé (és ne üres attribútummal, ha ez nem lenne tiszta). Meg amit most írt.
[ Szerkesztve ]
Sk8erPeter
(#4163) kemkriszt98 válasza Sk8erPeter (#4162) üzenetére
kemkriszt98
aktív tag
Érthető volt és amikor azt mondtam, hogy a body végére azt úgy értettem, hogy a záró tag elé Mea culpa.
(#4161) Jim-Y: Működik Az a helyzet, hogy eleinte kézzel írtam be s mikor láttam, hogy nem megy jött a CTRl + C, CTRL+V és véletlenül úgy maradt. Egyébkén az miért van hogy ha így nyitom meg: localhost/img/base.html akkor nem megy de ha ip címmel akkor működik ?
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
(#4164) Sk8erPeter válasza kemkriszt98 (#4163) üzenetére
Sk8erPeter
nagyúr
Lehet, hogy a %windir%\System32\drivers\etc\hosts (vagyis C:\Windows\System32\drivers\etc\hosts) fájlodban nincs megfeleltetés a localhostra:
127.0.0.1 localhost
(bár tudtommal defaultból szokott lenni)
Sk8erPeter
BullZeye
veterán
Vállalati program csak IEn keresztül megy, ami engem bosszant, mert miért használjak 2 böngészőt, ha nem muszáj.
Lehetséges, hogy én átverjem az oldalt, hogy valójában nem FF-ot használok, hanem IE-t?
Van egy browser.js ami ezért felel, és abban van ez a rész ami felel érte (gondolom):
var oBrowser=_browser;
MenuBar.prototype.change_state=function(obj,b_display)
{
var new_display_state;
if(b_display)
if(oBrowser.isIE)
new_display_state="block";
else
new_display_state="";
else
new_display_state="none";
obj.style.display=new_display_state;
}
function toolbar_action(t_id)
{
Tudna esetleg valaki erre egy userscriptet írni FF-hez, ami elősegíti, hogy a new_display_state mindig "block" legyen?
Vagy nekem az is jó, ha esetleg megmondja valaki hogy tudom kinyerni, hogy milyen divet alakít át, mert akkor elég lenne egy display:block!important is. Viszont ez egy iframe, és FFben nem jelenik meg, IE-hez meg nem értek annyira, hogy hogy nyerjem ki melyik div-et érinti.
szerk.:
<body onunload="remove_menubar()" leftmargin="5" onload="isLoaded = true;">
Vagy ha ezt ki lehetne ütni valahogy, az is megfelelne.
[ Szerkesztve ]
Sk8erPeter
nagyúr
Amennyiben User-Agent alapján dönti el, milyen böngészőt használsz, akkor arra vannak User-Agent Switcher bővítmények más böngészőkhöz is.
Viszont elképzelhető, hogy annál a vállalati weboldalnál azért van ilyen megkötés, mert egy régi szutyok, és TÉNYLEG csak IE-ben működik megfelelően (pl. ActiveX controls, ilyesmik).
Sk8erPeter
BullZeye
veterán
User-agent-et kipróbáltam már régebben, az nem segített, hiába állítottam IE8-9-10-11-re.
Régi szutyok, ezt aláírom, de nekem kb az 5%-a kell amit tud, és az működne rendesen FF-ben is (régen ment, mielőtt letiltották volna).
Sk8erPeter
nagyúr
És mi van abban a browser.js-ben?
Sk8erPeter
BullZeye
veterán
Azt hiszem elegendő lenne useragent is, csak rá kell jönnöm hova mit írjak, hogy az jó legyen, mert az alap beállítások amiket progi használ az nem jó.
[ Szerkesztve ]
Sk8erPeter
nagyúr
Pl. ezzel próbálkoztál?
Sk8erPeter
martonx
veterán
Egyrészt úgy rémlik anno volt IE Tab nevű bővítmény FF alá, régebben pont ugyanilyen cipőben jártam, mint te.
Viszont ha nem Windows XP-n vagy, akkor hidd el, az IE11 használatával sem fogsz semmit veszíteni az FF-hez képest.
Én kérek elnézést!
Sk8erPeter
nagyúr
Ja igen, az a megoldás még jobb.
https://addons.mozilla.org/hu/firefox/addon/ie-tab/
https://addons.mozilla.org/hu/firefox/addon/ie-tab-2-ff-36/
vagy Chrome-hoz:
https://chrome.google.com/webstore/detail/ie-tab/hehijbfgiekmjfkfjpbkbammjbdenadd
Sk8erPeter
BullZeye
veterán
Vagy 30 bővítmény használatát veszteném el, amire szükségem van. :\
IE tab meg bugos, azért nem szeretem, mert ott beírom a jelszavamat és pl a jelszó közepén van egy Q betű, nyomok shift+q -t, amire előjön egy translate ablak (bővitmény), ami alapból nem jön elő.
Valamint mágikus módon IE-tab használatánál a jelszavamat/felhasználómat se jegyzi meg, ami FFben alapból benne van.
Valamint a ctrl+tab is megfagy ahogy az IE tabra ér.
szerk 6136136.:
https://addons.mozilla.org/hu/firefox/addon/ie-tab-2-ff-36/
Ez valóban jobb mint az eredeti IE tab.
[ Szerkesztve ]
[pod]Diablo
őstag
Üdv!
Valaki tudna nekem segiteni abba hogy ez a kod miert nem akar mukodni?Lehet valami nagyon egyszeru dolgot nezek el benne...
Elore is koszonom a segitseget!
"Sült hal, Tom Jones, délutáni tea, rossz kaja, mégrosszabb idő, kibaszott Mary Poppins, LONDON!" // ...when i get sad.i stop being sad and be awesome instead...
Jim-Y
veterán
Kezdjük ott, hogy rosszul linkelted a példát
[pod]Diablo
őstag
Valoban,elnezest ezt akartam linkelni.Gondolom egyszeru a hiba,csak talan fatol nem latom az erdot kategoria.
[ Szerkesztve ]
"Sült hal, Tom Jones, délutáni tea, rossz kaja, mégrosszabb idő, kibaszott Mary Poppins, LONDON!" // ...when i get sad.i stop being sad and be awesome instead...
(#4177) Sk8erPeter válasza [pod]Diablo (#4176) üzenetére
Sk8erPeter
nagyúr
Most látom először ezt a plugint, de a dokumentációja elég egyértelmű, nem az elvárt formában adtad meg a hozzá tartozó markupot.
Egyszerűen az unordered list listaelemei helyett egymásba ágyazott divekkel működik.
Itt egy működő példa, elláttam még pár opcióval a doksi alapján (szerk.: ezek persze opcionálisak, nyilván változtasd meg őket saját igényeid szerint (pl. a scrollozás irányát, meg hogy meddig látsszon egy kép, stb.), csak eljátszottam vele egy percig ):
http://jsfiddle.net/3WPPq/1/
[ Szerkesztve ]
Sk8erPeter
(#4178) [pod]Diablo válasza Sk8erPeter (#4177) üzenetére
[pod]Diablo
őstag
Köszi szépen,még zavarnálak egy problemaval ezzel kapcsolatba: D Csináltam belőle egy ilyen verziót,de nem birom ravenni hogy mind az 5 elem megjelenjen egymas mellet.Valahogy nagyon nem vagyok kibekulve ezekkel a pluginokkal: /
"Sült hal, Tom Jones, délutáni tea, rossz kaja, mégrosszabb idő, kibaszott Mary Poppins, LONDON!" // ...when i get sad.i stop being sad and be awesome instead...
(#4179) [pod]Diablo válasza [pod]Diablo (#4178) üzenetére
[pod]Diablo
őstag
Kozbe sikerult vegul megoldanom
"Sült hal, Tom Jones, délutáni tea, rossz kaja, mégrosszabb idő, kibaszott Mary Poppins, LONDON!" // ...when i get sad.i stop being sad and be awesome instead...
(#4180) Sk8erPeter válasza [pod]Diablo (#4178) üzenetére
Sk8erPeter
nagyúr
Nem értem, scrollozni szeretnél 5 elemet, de azt szeretnéd, ha mind az 5 megjelenne egymás mellett? Na de akkor hova scrollozod?
(#4179) [pod]Diablo :
"Kozbe sikerult vegul megoldanom"
Ez vicces, pont most írtam valaki másnak egy másik topicban, hogy ha már valaki a fórumra ír segítségkérési szándékkal, foglalkoznak is a problémájával, de rájön, hogy mit rontott el korábban, akkor illik megírni, mi volt a megoldás, hiszen azért fórum, hogy mások számára is hasznos legyen, erre most Te is előadod...
Szóval mi volt a megoldás a problémádra? Hátha kell valaki másnak is rajtad kívül.
Sk8erPeter
(#4181) [pod]Diablo válasza Sk8erPeter (#4180) üzenetére
[pod]Diablo
őstag
Megjegyeztem, legkozelebb igy cselekszem elsore,nem felejtem el: D css-be probaltam eloszor float:left-el egymas melle rakni a div-eket,csak elfelejtettem méretet adni nekik.a width-et kellett meg beallitanom melle es mukodott is.Hat tulajdonkeppen azt akartam elerni hogy az az 5elem menjen folyamatosan korbe korbe,csak allitottam be tavolsagot az elemek koze igy nem teljesen latszik mindegyik egyszerre. Ez lett a vegeredmeny
[ Szerkesztve ]
"Sült hal, Tom Jones, délutáni tea, rossz kaja, mégrosszabb idő, kibaszott Mary Poppins, LONDON!" // ...when i get sad.i stop being sad and be awesome instead...
kemkriszt98
aktív tag
Sziasztok, arra volna szükségem, hogy ha valaki egy gombra kattint akkor megnézzem az ID-t és annak alapján történjenek különböző dolgok... a probléma csak annyi, hogy valamiért az if-be nem jutok be... Így próbáltam:
if(mouseEvent.target.id == "1")...
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
Jim-Y
veterán
Szia. En eleg nagy eselyt latok ra, hogy inkabb a feladatot kene mashogy megoldanod, mert szerintem rosszul kozelited meg a problemat.
A gombokra kulon listenert szokas aggatni, igy nem szokas az id-t igy lekerni. De ha megosztod a kodod tobbi reszet is, peldaul jsfiddle-on, akkor tobbet tudunk majd segiteni.
Egy gombra kattintas pszeudokodja valami ilyesmi kene hogy legyen:
myButton = leker DOM element id (vagy mas) alapjan
myButton addClickListener mitcsinaljon
mitcsinaljon() {}
Arrol nem is beszelve, hogy == helyett === javasolt, mert elobbi bizonyos helyzetekben erdekes eredmenyekre tud vezetni. [link]
[ Szerkesztve ]
kemkriszt98
aktív tag
Bocsánatot kell kérjek, azt akartam írni hogy ha valaki egy képre kattint...
function onClick(mouseEvent){
var largeE =document.querySelector("#e");
var largeO =document.querySelector("#o");
if(mouseEvent.target.id == "1"){
largeO.src= "http://www.youtube.com/v/m53v0Bn0ynQ?hl=hu_HU&version=3";
largeE.src= "http://www.youtube.com/v/m53v0Bn0ynQ?hl=hu_HU&version=3";
}else if(mouseEvent.target.id == "2"){
largeO.src= "http://www.youtube.com/v/hzLVr2NzC-A?hl=hu_HU&version=3";
largeE.src= "http://www.youtube.com/v/hzLVr2NzC-A?hl=hu_HU&version=3";
}
}
[ Szerkesztve ]
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
Jim-Y
veterán
Tippre azert, mert vagy rossz az ev.target nem az amire gondolnal, vagy mert az ev.target-nek nincs id-je, vagy az nem 1.
kemkriszt98
aktív tag
Én is erre gondoltam de az a baj, hogy a HTML fájlban szerepel ez:
<img id="1" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick()"></img>
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
Jim-Y
veterán
Legyszi oszd meg a teljes kododat, mert elkepzelheto, hogy te a javascript kodot a body vegen adtad hozza, es az onClick nem letezik meg akkor, mikor rakotod az onclick esemenyre.
Masik hiba, hogy ha igy hivsz meg egy metodust, akkor nincs hidden event metodus, azt az addEventListener teszi hozza a hatterben.
Harmadik hiba, hogy nehezen modosithatova teszed a kodot azzal, hogy az esemenyt a html-ben definialod es nem a js-ben, ahogy azt kene, illetve ahogy erre mar kaptal peldakodot is tolem, es Sk8erPeter-tol is.
Peldaul csereld ki a kododban:
<img id="1" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
function onClick(id) {
console.log(id);
}
Es egybol meglesz az id.. de ha ezt ugy csinalnad, ahogy kene (nem biztos, hogy ez lenne a legjobb modszer, de a jelenlegidnel jobb):
Gondolj bele, ez mar csak azert is jobb, mert ha onclick eseten tobbe mar nem az onClick()-et akarod futtatni, akkor nem kell annyi helyen belenyulni a html kodba, ahany keped van
<img id="1" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
<img id="2" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
<img id="3" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
<img id="N" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
Itt most N-szer kene atirni, mig az en verziomban egy helyen atirod a kodot, es kesz.
Nem veletlenul best-practise az, hogy HTML-be NEM irunk javascriptet, ha ez megoldato, es JS-be NEM irunk CSS-t ha ez megoldhato.
[ Szerkesztve ]
CSorBA
őstag
Illetve az a szám ID sem túl jó.
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
Habár a HTML5 megengedi. [link]
(#4189) Sk8erPeter válasza kemkriszt98 (#4184) üzenetére
Sk8erPeter
nagyúr
Jim-Y már adott jótanácsokat, ezenfelül még annyi, hogy ilyen "csak-te-tudod-mi-az"-nevű elemeket ne használj, kerüld az ilyen nem túl beszédes "e", meg "o" id-ket, ahogy kerüld az "1", "2" nevű id-ket is, rossz, nem átlátható, más által nem megérthető a kód. A hosszú if-else-eket is érdemes kerülni, használj switch-case-t.
Tényleg rakj fel egy egyszerű példakódot, és akkor gyorsabb lesz a segítségnyújtás.
Sk8erPeter
(#4190) fordfairlane válasza kemkriszt98 (#4186) üzenetére
fordfairlane
veterán
Ha html attribútumban kezeled az eventet, ( onclick="onClick()" ) akkor a függvény nem kap Event objektumot.
<img id="1" class="small" alt="Small img" src="imgs/1.jpg">
<script>
function onClick(Event) {
...
}
document.getElementById("1").addEventListener("click", onClick);
</script>
[ Szerkesztve ]
x gon' give it to ya
(#4191) Sk8erPeter válasza fordfairlane (#4190) üzenetére
Sk8erPeter
nagyúr
Na az meg a másik.
Sk8erPeter
(#4192) kemkriszt98 válasza Sk8erPeter (#4191) üzenetére
kemkriszt98
aktív tag
Ez csak egy teszt kód, amúgy nem szoktam ilyen neveket használni. .. alapból switch- el volt csak mikor láttm, hogy nem megy arra gondoltam , hog a switch működéséről nem tudok valamit ezért le cseréltem. ..
Akkor majd átírom valahogy úgy ahogy a multkori példában is mutattátok
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
(#4193) Sk8erPeter válasza [pod]Diablo (#4181) üzenetére
Sk8erPeter
nagyúr
Ja, tényleg, még múltkor ezt akartam neked belinkelni:
http://www.smoothdivscroll.com/clickableLogoParade.html
Itt pont azt csinálja, ami neked kell, több reklámlogó egymás mellett folyamatosan oldalra scrolloz, és a logók kattinthatók, a slideshow egér fölévitelekor szünetel.
(GitHubon is elérhető a projekt.)
=============================================
Még érdekességnek:
http://stackoverflow.com/questions/15662426/automatic-image-scroll-smooth-with-jquery/15662955#15662955
Itt az alsó példa az érdekes:
http://jsbin.com/olikom/11/edit
Mondjuk picit macerás megoldás, mert egybe vannak rakva a támogatók egyetlen képbe, ez háttérképként van berakva, és azt csúsztatgatja; a klikkelhetőséghez pedig pixelre pontosan kell meghatározni, hogy mettől meddig tart egy-egy partner képe. Ettől függetlenül nem rossz ötlet, és viszonylag kevés kódból megoldotta.
Van még a jQuery Cycle 2 plugin continous slideshow-ja:
http://jquery.malsup.com/cycle2/demo/continuous.php
De speciel pont ez a része nem túl testreszabható.
Az ott szereplő kommentár viszont érdekes lehet: "While the use of continuous slideshows is strongly discouraged due to their impact on CPU usage, they are possible with Cycle2 by setting the easing and timeout options as shown below."
======
Összefoglalva:
Szerintem neked a legelső belinkelt példa jönne jól, a kódja is nagyon egyszerű.
Sk8erPeter
Jim-Y
veterán
Rich JavaScript Resources:
https://github.com/dypsilon/frontend-dev-bookmarks
[pod]Diablo
őstag
Udv!
Most ezen az oldalon dolgozom es lenne egy olyan problemam hogy valamiert a google map api nem jelenik meg ie-be es ff-be.Esetleg valaki tud erre mondani nekem valami megoldast?
Elore is koszonom a valaszt!
ui:. Köszi Sk8erPeter a sliderért
"Sült hal, Tom Jones, délutáni tea, rossz kaja, mégrosszabb idő, kibaszott Mary Poppins, LONDON!" // ...when i get sad.i stop being sad and be awesome instead...
Karma
félisten
Nekem Chrome-ban se jelenik meg semmilyen térkép, hol kéne egyáltalán lennie?
“All nothings are not equal.”
[pod]Diablo
őstag
nekem igy nez ki chrome-ba az oldal
[ Szerkesztve ]
"Sült hal, Tom Jones, délutáni tea, rossz kaja, mégrosszabb idő, kibaszott Mary Poppins, LONDON!" // ...when i get sad.i stop being sad and be awesome instead...
DS39
nagyúr
üdv!
szeretnék olyan formázási tag-et beszúrni egy textarea-ba javascript-tel, mint ami itt ph-n is van.
ez alapján kezdtem neki: [link]
sehogy sem sikerül úgy átírni, hogy a kijelölt szöveg elé és mögé is szúrjon be tag-et.
tudtok ebben segíteni?
DS39
nagyúr
közben sikerült, átírtam így:
...
startIndex = el.selectionStart;
endIndex = el.selectionEnd;
el.value = val.slice(0, startIndex) + tag1 + val.slice(startIndex, endIndex) + tag2 + val.slice(endIndex);
...
[ Szerkesztve ]
Jim-Y
veterán
Sziasztok.
Promise-os kérdésem lenne. Arra lennék kváncsi, hogy hogyan lenne szerintetek érdemes használni, vagy hogy elegáns használni a promise-okat. Adott a következő szituáció:
- van egy REST service:
server.get( '/get/articles', getArticles );
- van azt ezt feldolgozó getArticles függvény
- illetve van egy articleProvider osztály/modul amit a getArticles függvényből hívok meg. Ponstosabban annak findAll metódusát. Ez felelős az adatbázisból való kiolvasásért
A kérdés, hogy a getArticles / findAll függvényt hogy kéne megrni, több (működő) verzió is született már, de nem tudom eldönteni, hogy melyik a szép/jó/használható megoldás.
Megoldás 1, ez született legkésőbb, szerintem ez a legjobb:
function getArticles( req, res, next ) {
var promise = new mongoose.Promise;
promise.onResolve(function( err, articles ) {
if( err ) {
console.error( err );
res.send("Could not read articles");
}
res.send( articles );
});
articleProvider.findAll( promise );
}
ArticleProvider.prototype.findAll = function( promise ) {
this.Article.find({}, function ( err, articles ) {
if( err ) {
promise.reject(new Error( err ));
}
promise.fulfill( articles );
});
}
Megoldás 2:
function getArticles( req, res, next ) {
articleProvider.findAll().fulfill(res);
//articleProvider.findAll()
.reject(new Error("Valamiért rejecteljük"));
}
ArticleProvider.prototype.findAll = function() {
var promise = new Promise,
self = this;
promise.onResolve(function( err, res ) {
if( err ) {
console.error( err );
}
self.Article.find({}, function( err, articles ) {
if( err ) {
promise.reject(new Error( err ));
}
res.send( articles );
});
});
return promise;
};
Ez a reject-re amúgy sem működik jól, mert a res-t nem tudjuk átadni.
Megoldás 3:
Ez jó, illetve kompakt, de igy meg nem tudjuk rejectelni ha kéne.
function getArticles( req, res, next ) {
var promise = articleProvider.findAll();
promise.onResolve(function( err, articles ) {
if( err ) {
res.send(new Error( err ));
}
res.send( articles );
});
}
ArticleProvider.prototype.findAll = function() {
return this.Article.find().exec();
};
stb, még tudnék pár verziót összerni
Vélemények?
Üdv, és köszi. Remélem érthető a példakód ^^
megj: mindhárom megoldás működik egyébként.
[ Szerkesztve ]