- Bemutatkozott a Poco X7 és X7 Pro
- Yettel topik
- Magyarított Android alkalmazások
- Hónap végén érkezik a Xiaomi Band 10, ára is van
- iPhone topik
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- Google Pixel topik
- Milyen okostelefont vegyek?
- Fotók, videók mobillal
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
-
Mobilarena
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?
-
Jim-Y
veterán
válasz
kemkriszt98 #4149 üzenetére
Hú-ha, hogy te ezért mit fogsz itt kapni
Nem írunk így javascript kódot!
Itt van egy alap cucc kiindulásnak, hogy hogyan kellett volna inkább:
http://jsbin.com/tusunami/1/edit?html,js,outputNincs időm utánajárni, de biztos van jobb megoldás mint a képek url-jét cserélgetni.
-
martonx
veterán
válasz
kemkriszt98 #4146 üzenetére
A js elérési útja van rosszul megadva?
-
kemkriszt98
tag
válasz
fordfairlane #4145 üzenetére
Nem mert kicsibe megjelennek, csak mintha a js nem menne de mivel több gépen is kipróbáltam így nem tudom mi lehet
de akkor haggyuk, 2 óra múlva jövök a kóddal .
-
fordfairlane
veterán
válasz
kemkriszt98 #4143 üzenetére
A képek elérési útja nem jól van megadva, mert mondjuk abszolut URL-ek vannak benne, a meghajtó betűjele, ami másik gépen már nem működik. Esetleg a képeket nem másoltad fel.
-
Sk8erPeter
nagyúr
válasz
kemkriszt98 #4143 üzenetére
Kód nélkül tök felesleges elkezdeni tippelgetni.
-
kemkriszt98
tag
Sziasztok, van egy weboldalam ahol van 4 képem (3 kicsi 1 nagy) némi js segítségével megoldottam, hogy mindíg az a kép jelenjen meg nagyba amire ráviszem az egeret ( onmouseover-el). Az én gépemen megy is de ha átmásolom más gépre vagy otthoni szerverre akkor másnak nem. Ha haza megyek kódot is de addig is nincs valami ötletetek?
-
Jim-Y
veterán
Szia. Most sikerült erre visszatérnem.
Leszedtem a példád, írtam hozzá egy klienst, de az a gond, hogy a szerverre eljut az információ
{ name: "akarmi" } , tehát az akarmi eljut a szerverig, sikerül meghívni a wsdl alapján a metódust, de kliens oldalra már nem jut vissza a válasz, ott mindig undefined-ot olvasok :/Most pont ezen vagyok, hogy ezt kijavítsam. Szerintem a wsdl-ben kéne mókolni.
-
Siriusb
veterán
válasz
trisztan94 #4139 üzenetére
Mármint konkurenciája
-
trisztan94
őstag
válasz
fordfairlane #4138 üzenetére
Igen, közben leesett
Nem rossz amúgy, de nem fogom használni. Ott van nekem a Sublime meg a Brackets (mostanában inkább Sublime, sokkal gyorsabb, egyszerűbb kezelni szvsz), komolyabb melóra pedig IDE (Netbeans, Visual Studio, ha úgy adódik). Tehát igazából nem értem, hogy miért csinálták ezt, direkt kompetense akar lenni a Bracketsnek, ami már eléggé kiforrott.
-
fordfairlane
veterán
válasz
trisztan94 #4137 üzenetére
A win kliens az újdonság. Eddig leginkább csak OS X alá volt.
-
martonx
veterán
Jelzem, ma este kijött a Visual Studio 2013 Update 2 is, ami a Web Essentials pluginnel kiegészülve már majdnem WebStorm magasságba emeli a VS-sel is a webfejlesztést.
-
Jim-Y
veterán
válasz
Sk8erPeter #4134 üzenetére
Hónapokkal ezelőtt már én is néztem, de akkor csak OSX-re lehetett feltenni...
-
Sk8erPeter
nagyúr
-
Jim-Y
veterán
Aki szokta használni a Sublime-ot, az esetleg lesse meg ezt is, a héten lett elérhető.
https://github.com/atom/atom -
Zedz
addikt
válasz
trisztan94 #4127 üzenetére
Sajnos így sem jó.
Szerk.: ez segített.
-
Zedz
addikt
Sziasztok!
Canvassal vannak problémáim. Van ez a kódom.
És ezt a hibaüzenetet dobja: Uncaught IndexSizeError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The source width is 0.
Pedig a kép elérési útja is jó, illetve ha egy kép URL címét adom meg ami egy szerveren van, akkor sem lesz jó. Mi lehet a baja?
-
martonx
veterán
Érdekes, hogy nem működik .on-nal a scroll, a click meg igen. Szvsz semmi köze ahhoz, amit feltételezel, ki kellene próbálni plain js-sel, lehet hogy ez csak valami jquery hiba. Simán működnie kellene: példád letisztítva és a lényegre koncentrálva
-
CSorBA
őstag
Mármint gondolom azért nem fut le, mert a scroll nem bubblingol, ezt hogy tudom mégis megcsinálni?
-
CSorBA
őstag
válasz
Sk8erPeter #3908 üzenetére
Most jött el a kérdés ideje ezzel a hozzászólással kapcsolatban
Azt vettem észre, hogy click eventnél ez teljesen jól működik, viszont scroll esetében valamiért nem fut le, csak direktben pakolva. De az pedig ugye nem lesz jó a később behozott elemek esetén..
Itt a példám: [link] Mi a gond a scrollal?
-
Kommy
veterán
válasz
Sk8erPeter #4121 üzenetére
Köszönöm mindenkinek a segítséget.
-
Sk8erPeter
nagyúr
Szerintem az van, amit Karma említett, hogy az .on()-t kellene használnod, a selectek szülőelemére "aggatva", a selectekre szűrve az .on()-nak paraméterként megadott selectorral.
De amit SOHA többé ne csinálj (mert egészségkárosító hatású), az a (#4117) azonosítójú hsz.-edben látható, és ROSSZ, NAGYON ROSSZ:
var value=$(this).children('option:selected').val(); // BORZALMAS
var valueid=$(this).children(':selected').attr("id"); // NE CSINÁLD
var valuechamp=$(this).children(':selected').attr("champ"); // ROSSZ
Tudod, hogy van, amikor egy ilyet leírsz, akkor az egy kismacska életébe kerül.Totálisan feleslegesen futtatod le újra és újra ugyanazt a metódust, ráadásul egymás alatt:
$(this).children(':selected')
--> ennek az értékét tárold el egy VÁLTOZÓBAN, arra találták ki. Ugyanarra az elemre hivatkozol.
Tehát a fentit cseréld le valahogy így:
var $self = $(this);
var $selectedElement = $self.children('option:selected')
var value=$selectedElement.val();
var valueid=$selectedElement.attr("id");
var valuechamp=$selectedElement.attr("champ");a lényeg: a többször használt elemeket tárold el változó(k)ban, ne kérd le őket újra és újra, mert erőforrás-igényes, még ha nem is veszed észre.
-
-
martonx
veterán
-
Kommy
veterán
Lehet marad az , hogy a js-be írok több sor az azonosítókkal úgyis csak számok.
De miért van az, hogy kiválasztok 1-et, betölt aminek kell, kiválasztok mondjuk ugyan abból akkor már 2 szer tölt be és ahogy nyomkodom egyre többször fut le a js-ben az adott kódrészlet.
-
Kommy
veterán
Kicsit módosítottam, rajta, most már nem a select-nek kell az id-ja, mivel az most már egységes
És ami a php-ban van mint kimenet:
<select name='track' id="champ">
<option champ= "id" id= "y" value="Érték">"Érték"</option>
</select>Ígxy le tudom kérdezni, melyik a kiválasztott legördülő
$(document).ready(function() {
$("#track").change(function(){
var value=$(this).children('option:selected').val();
var valueid=$(this).children(':selected').attr("id");
var valuechamp=$(this).children(':selected').attr("champ");
$("#edit").load("result.php?q="+value+"&x="+valueid+"&f=1&c=0");
});
});A mostani gond viszont az, hogy csak az első legördülőnél működik, ez miért lehet, a kódot a php generálja, sql lekérdezésekből tehát minden megegyezik bennük semmi eltérés.
-
Kommy
veterán
lényeg van egy ilyen js fájlom amiben ez van:
$(document).ready(function() {
$("#track").change(function(){
var value=$(this).children('option:selected').val();
var valueid=$(this).children(':selected').attr("id");
$("#edit").load("result.php?q="+value+"&x="+valueid+"&f=1&c=0");
});
});És ami a php-ban van mint kimenet:
<select name='track' id="x">
<option id= "y" value="Érték">"Érték"</option>
</select>És a gondom az lenne, hogy míg ezt kézzel minden változásnál megcsináltam, hogy adtam neki egy fix id-t a select-nek , most ezt szeretném valahogy megoldani, hogy automatán működjön és elég legyen egy ilyen change függvény.
-
Kommy
veterán
Sziasztok!
Arra valakinek van ötlete, hogy hogyan tudnám megoldani, hogy van egy php fájlom, itt kiíratok php-val adatbázisból adatokat legördülő menükben (több van) és az lenne számomra a fontos, hogy melyik legördülő menüt húztam le, ennek a választásnak az adatával mennél tovább.
pl zöldsége, gyümölcsök, húsok a három legördülő menü és ha valamelyikből kiválasztom valamelyiket akkor annak a képét rakja ki
Tehát gyümölcsből kiválasztom a körtét akkor a körte képe jelenik meg, tehát tudnom kéne melyik legördülőből melyiket választottam ki.
Ha a select-nek lenne egy fix "id"-ja akkor menne a következővel:
$("#id").change(function(){...} -
Sk8erPeter
nagyúr
"Egyébként az ECMAScript 6 terjedéséről mit lehet tudni? Azt olvastam, hogy a Node a 0.11.x-es ágon már támogatja, de stabilizálódni még nem akar... Pedig a generátorok nagyon odavernek."
Ez jó kérdés, én is csak ezt a táblázatot nézegettem:
http://kangax.github.io/es5-compat-table/es6/
pl. Promise konkrétan:
http://kangax.github.io/es5-compat-table/es6/#Promise
Egyébként túl sokat a dologról nem tudok. -
Karma
félisten
Nem csak a Brackets, hanem például a TileMill térképszerkesztő is tisztán Node.js alkalmazás. Ez utóbbi is open source, meg lehet nézni hogy mire épít.
Én egyébként a DeskShellről és a node-webkitről hallottam eddig.
(#4106) Sk8erPeter: Tényleg nagyon jó cikk, köszi
Egyébként az ECMAScript 6 terjedéséről mit lehet tudni? Azt olvastam, hogy a Node a 0.11.x-es ágon már támogatja, de stabilizálódni még nem akar... Pedig a generátorok nagyon odavernek.
Szívesen használnám már gyakorlatban például a co-t.
-
Zedz
addikt
válasz
Sk8erPeter #4107 üzenetére
Fősulin van egy beadandó feladatom, és első körben egy weboldalt akartam írni erre a célra. Viszont találkoztam a Brackets kódszerkesztővel és kiderült, hogy ez is a webes nyelveket használva lett létrehozva. Szóval mint érdekesség lehet csinálnék valamit beadandónak, csak nem tudom például melyik SDK-t lenne érdemes használni. Olvasgatok épp most is a dolgok után, de egy kis iránymutatás jól jönne.
-
Sk8erPeter
nagyúr
"(Az ígéret egy olyan objektum, ami majd valamikor a jövőben fog kiértékelődni, vagy sikeresen, vagy nem. Mindkét ágra fel lehet iratkozni külön, és ha láncba fűzi őket az ember, akkor úgy viselkedik, mint a rendes függvényhívások - az eredmények lépésről lépésre átpasszolódnak, a hiba meg az egészet megszakítja.)"
JavaScript Promise-témában ECMAScript 6-os feature-ök kapcsán ezt a cikket olvasgattam múltkor, és igen jó:
JavaScript Promises - There and back again
http://www.html5rocks.com/en/tutorials/es6/promises/ -
trisztan94
őstag
Nagyon nem érdemes. Maximum, ha Win 8/RT-re akarsz, ott viszonylag jó.
Vagyis hát igazából attól függ. Ha nem natív nyelven fejlesztesz egy OS-re, akkor az lassabb lesz mindenképp (tehát windows esetén C++, C#, OSX esetén Objective C), mert van egy wrapper körülötte ami végül lefordítja arra (asszem, javítsatok ki, ha tévedek). Akkor lehet jó választás, ha Cross Platform appokat akarsz fejleszteni (lásd: adobe brackets), amit könnyű pluginezni.
De a brackets pl. pont a fent említett dolgok miatt nagyon be tud lassulni. -
Zedz
addikt
Sziasztok,
Hallottam arról, hogy lehetőség van asztali alkalmazást fejleszteni HTML, CSS illetve Javascript segítségével. Ebben van aki kicsit is tapasztaltabb itt? Eddig csak SDK-kat nézegettem, de igazából nem találtam értelmes leírást a témával kapcsolatban.
-
Karma
félisten
Szoktam még egyébként betenni plusz egy modult mindenhova, az underscore-t, amivel a tömb és objektumműveletek igencsak leegyszerűsíthetőek. A példádban például kezelhetőbbé teheti az eredményeket, ha a cheerio map, vagy az eredeti megoldásod helyett csak a számodra hasznos információt gyűjtöd ki a listába.
Ennyi változtatással:
var _ = require('underscore');
...
requestP('https://news.ycombinator.com')
.then(function (html) {
var $ = cheerio.load(html);return _.map($('span.comhead'), function (element) {
var link = $(element).prev();
return { title: link.text(), url: link.attr('href') };
});
})
.then(function (articles) {
console.log(articles);
})
.catch(console.error);A kimenet sokkal barátságosabb:
[ { title: 'Greed and the Wright Brothers',
url: 'http://www.nytimes.com/2014/04/19/opinion/nocera-greed-and-the-wright-brothers.html' },
{ title: 'Reactive UIs with React and Bacon',
url: 'http://joshbassett.info/2014/reactive-uis-with-react-and-bacon/' },
{ title: 'HMRC \'plans to share tax data with private firms\'',
url: 'http://www.bbc.co.uk/news/uk-27086401' }, ...] -
Karma
félisten
Nem véletlenül írtam privátot, hogy kifejtem bővebben
No de (hahaha), akkor következzen egy egyszerű példa a te feladatodra. Egy plusz modul kell hozzá, a when. Ott kezdődik a dolog, hogy a requestből készíteni kell egy olyan változatot, ami callback függvény helyett egy ígérettel tér vissza.
(Az ígéret egy olyan objektum, ami majd valamikor a jövőben fog kiértékelődni, vagy sikeresen, vagy nem. Mindkét ágra fel lehet iratkozni külön, és ha láncba fűzi őket az ember, akkor úgy viselkedik, mint a rendes függvényhívások - az eredmények lépésről lépésre átpasszolódnak, a hiba meg az egészet megszakítja.)
Szóval a request függvényt be kell foglalni (ezt csinálja a requestP függvény), utána mehet a lényeg. Bátorkodtam kicsit egyszerűsíteni a kigyűjtésen, ha már van a cheerionak is map függvénye.
var when = require('when'),
cheerio = require('cheerio'),
request = require('request');
function requestP(url) {
return when.promise(function (resolve, reject) {
request(url, function (err, res, body) {
if (err) {
return reject(err);
} else if (res.statusCode !== 200) {
err = new Error("Unexpected status code: " + res.statusCode);
err.res = res;
return reject(err);
}
resolve(body);
});
});
}
requestP('https://news.ycombinator.com')
.then(function (html) {
var $ = cheerio.load(html);
return $('span.comhead').map(function (i, element) {
return $(element).prev();
});
})
.then(function (articles) {
console.log(articles);
})
.catch(console.error);
Új hozzászólás Aktív témák
Hirdetés
- One otthoni szolgáltatások (TV, internet, telefon)
- Magga: PLEX: multimédia az egész lakásban
- Futás, futópályák
- A fociról könnyedén, egy baráti társaságban
- Gigabyte alaplap topik
- Hegesztés topic
- DVBViewer
- Kazy Computers - Fehérvár - Megbízható?
- Autós topik látogatók beszélgetős, offolós topikja
- Max
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- LG OLED Televíziók: FRISS SZÁLLÍTMÁNY -30%
- Eredeti Windows 10 / 11 Pro aktiválókulcs AZONNALI SZÁLLÍTÁSSAL!
- BESZÁMÍTÁS! Microsoft XBOX Series X 1TB SSD fekete játékkonzol extra kontrollerrel dokkolóval
- Bomba ár! Dell Inspiron 7400 - i7-1165G7 I 8GB I 512SSD I 14,5" 2K I HDMI I Cam I W11 I Garancia!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest