- ldave: New Game Blitz - 2025
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- erkxt: A Roidmi becsődölt – és senki nem szól egy szót sem?
- Hold - SW Heritage - Auto üzemmód
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- MasterDeeJay: Noname 1TB-os SATA SSD teszt
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Gurulunk, WAZE?!
- droidic: YouTube videók és playlistek letöltése GUI-alkalmazással
-
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
-
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értA 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.
-
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?
-
Karma
félisten
válasz
[pod]Diablo #4195 üzenetére
Nekem Chrome-ban se jelenik meg semmilyen térkép, hol kéne egyáltalán lennie?
-
Jim-Y
veterán
Rich JavaScript Resources:
https://github.com/dypsilon/frontend-dev-bookmarks -
Sk8erPeter
nagyúr
válasz
[pod]Diablo #4181 üzenetére
Ja, tényleg, még múltkor ezt akartam neked belinkelni:
http://www.smoothdivscroll.com/clickableLogoParade.htmlItt 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ű. -
kemkriszt98
tag
válasz
Sk8erPeter #4191 üzenetére
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
-
Sk8erPeter
nagyúr
válasz
fordfairlane #4190 üzenetére
Na az meg a másik.
-
fordfairlane
veterán
válasz
kemkriszt98 #4186 üzenetére
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> -
Sk8erPeter
nagyúr
válasz
kemkriszt98 #4184 üzenetére
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.
-
-
Jim-Y
veterán
válasz
kemkriszt98 #4186 üzenetére
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.
-
Jim-Y
veterán
válasz
kemkriszt98 #4184 üzenetére
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
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";
}
} -
Jim-Y
veterán
válasz
kemkriszt98 #4182 üzenetére
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]
-
kemkriszt98
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")...
-
[pod]Diablo
őstag
válasz
Sk8erPeter #4180 üzenetére
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
-
Sk8erPeter
nagyúr
válasz
[pod]Diablo #4178 üzenetére
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. -
[pod]Diablo
őstag
válasz
[pod]Diablo #4178 üzenetére
Kozbe sikerult vegul megoldanom
-
[pod]Diablo
őstag
válasz
Sk8erPeter #4177 üzenetére
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: /
-
Sk8erPeter
nagyúr
válasz
[pod]Diablo #4176 üzenetére
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/ -
Jim-Y
veterán
válasz
[pod]Diablo #4174 üzenetére
Kezdjük ott, hogy rosszul linkelted a példát
-
[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!
-
BullZeye
veterán
válasz
martonx #4171 üzenetére
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. -
Sk8erPeter
nagyúr
válasz
martonx #4171 üzenetére
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 -
BullZeye
veterán
válasz
Sk8erPeter #4168 üzenetére
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ó.
-
BullZeye
veterán
válasz
Sk8erPeter #4166 üzenetére
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
válasz
BullZeye #4165 üzenetére
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). -
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. -
Sk8erPeter
nagyúr
válasz
kemkriszt98 #4163 üzenetére
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)
-
kemkriszt98
tag
válasz
Sk8erPeter #4162 üzenetére
É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 ?
-
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. -
Jim-Y
veterán
válasz
kemkriszt98 #4159 üzenetére
changeImageSrc(largeImage, sourceUrl); hellyett
changeImageSrc(large, sourceUrl);
-
djyuri
őstag
-
Jim-Y
veterán
válasz
kemkriszt98 #4156 üzenetére
Mert a script elemet nem lehet igy irni.
Ird igy <script src=""></script> -
kemkriszt98
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..
-
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!
-
Jim-Y
veterán
válasz
Sk8erPeter #4152 üzenetére
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
-
Sk8erPeter
nagyúr
válasz
kemkriszt98 #4151 üzenetére
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.) -
kemkriszt98
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?
Új hozzászólás Aktív témák
- Óvodások homokozója
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Milyen processzort vegyek?
- Milyen videókártyát?
- ldave: New Game Blitz - 2025
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- Napelem
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- További aktív témák...
- ÁRGARANCIA! Épített KomPhone Ryzen 7 5700X 32/64GB RAM RTX 5060Ti 8GB GAMER PC termékbeszámítással
- Samsung Galaxy S22 Ultra 512GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 14 Pro 128GB, Kártyafüggetlen,
- Csere-Beszámítás! Asztali számítógép PC Játékra. I5 12400F / RTX 3070 / 32GB DDR4 / 1TB SSD
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest