- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Google Pixel topik
- Yettel topik
- Huawei Watch Fit 5 Pro - jó forma
- Samsung Galaxy S23 Ultra - non plus ultra
- Szívós, szép és kitartó az új OnePlus óra
- Apple iPhone 13 mini - miért nem veszik elegen?
- Xiaomi 17 Ultra - jó az optikája
- Milyen okostelefont vegyek?
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-02-25 10:20 Téma összefoglaló
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
-
tboy93
nagyúr
És akkor hogy is csinálok rajta egy másik metódust úgy, hogy ugyan azt a ColumnManagert használják?
(#6790) Jim-Y azt hiszem értem, legalábbis próbálkozok, köszi mindkettőtöknek

-
tboy93
nagyúr
Sziasztok!
Ezt a szignatúrát nem igazán értem, valaki esetleg el tudná nekem magyarázni?
window.ColumnWidthManager.setColumnsWidth = (function (columnWidthManager) {
return function (gridId) {
columnWidthManager.setWidths(gridId, maxWidths);
};
})(new window.ColumnWidthManager(new swh.ElementWidthProvider()));Illetve hogyan oldható meg az, hogy legyen egy újabb olyan metódus, ami a fentebbi ColumnWidthManager példányt használja?

-
tboy93
nagyúr
Sziasztok! Adott az alábbi metódus. Mire kéne fűznöm az
onerror-t, hogy meg tudjam hívni benne a deferred object-en areject()-et? Próbáltam már mindenre, de ha direkt rossz adatbázis nevet vagy tábla nevet adok meg, akkor nem fut bele azonerror-omba
dataSourceIndexedDb = function(databaseProp, tableProp){
this.getData = function(){
var open = indexedDB.open(database, 1);
var data;
var defer = $.Deferred();
open.onsuccess = function() {
// Start a new transaction
var db = open.result;
var tx = db.transaction(table, "readwrite");
var store = tx.objectStore(table);
// Query the data
var getAllData = store.getAll();
getAllData.onsuccess = function() {
data = getAllData.result;
defer.resolve(data);
};
tx.onerror = function(error){
defer.reject(error);
};
// Close the db when the transaction is done
tx.oncomplete = function() {
db.close();
};
};
return defer;
};
var database = databaseProp;
var table = tableProp;
dataSource.call(this);
}; -
tboy93
nagyúr
-
tboy93
nagyúr
-
tboy93
nagyúr
A egyik megoldás az hogy ígéretet (Promise) adj vissza és belül az onsuccess-nél resolve-old, onerror-nál meg reject-eled.
this.getData = function(){
return new Promise(resolve,reject) => {
let query = db.valami_async_művelet()
query.onsuccess = function(result){
resolve(result)
}
query.onerror = function(err){
reject(err)
}
}
}Így fogod tudni meghívni:
ValamiService.getData().then((result) => {
// beteljesült az ígéret és a result-ban lesz az eredmény
}).catch(error) => {
// hiba
});Másik elegáns megoldás ha cold observable-t használsz (rxjs).
Neked is köszönöm, ilyesmit kellene összehoznom mindenképp (a többi dataSource objektumomra is nem csak az indexedDb-sre).
-
tboy93
nagyúr
Az aszinkron működést nem tudod megkerülni, úgyhogy olyan getData függvényt, amit egyszerűen szinkron módon meghívsz és eredményeket ad vissza, lehetetlen írni. (Nem is feltétlen baj.)
Van egy pár lehetőséged, az egyik legegyszerűbb, ha adsz egy callback paramétert a getData függvényednek. Ez például egy olyan kétparaméteres függvény, aminek az első paramétere a futáskor történt hiba (lehet `null` is ha minden szép), a második pedig a tényleges adat.
A lényeg, hogy az indexedDB-s kódod az utolsó onsuccess handler végén meghívja ezt a függvényt, így tudod feldolgozni az eredményt.
Például:
this.getData = function(callback){
var open = indexedDB.open(database, 1);
open.onsuccess = function() {
// Start a new transaction
var db = open.result;
var tx = db.transaction(table, "readonly");
var request = tx.objectStore(table).getAll();
request.onsuccess = function() {
callback(null, request.result);
};
request.onerror = function() {
callback(request.errorCode);
};
// Close the db when the transaction is done
tx.oncomplete = function() {
db.close();
};
};
open.onerror = function() {
callback(open.errorCode);
}
};Máshol meg így hívod:
valami.getData(function(err, data) {
if (err) {
console.log("Error while reading data", err);
return;
}
console.log("Found data", data);
});Ha meg tisztább kódot akarsz, keress egy promise wrappert az IndexedDB-hez szerintem. Persze azt is meg kell tanulni használni először.
Amúgy sose használtam az IndexedDB-t, de a megérzésem azt mondja, hogy nem kéne minden lekérdezésnél nyitni-zárni.
Köszönöm
Senior kolega a jquery deferred - promiseirányba tologat, holnap azzal kezdek szerintem. -
tboy93
nagyúr
Sziasztok! IndexedDb a téma, hogyan adhatom vissza a getData() metódussal a táblában található elemeket?
Az async működést nem igazán vágom

this.getData = function(){
var open = indexedDB.open(database, 1);
var data;
open.onsuccess = function() {
// Start a new transaction
var db = open.result;
var tx = db.transaction(table, "readwrite");
var store = tx.objectStore(table);
// Query the data
var getAllData = store.getAll();
getAllData.onsuccess = function() {
data = getAllData.result;
};
// Close the db when the transaction is done
tx.oncomplete = function() {
db.close();
};
};
return data;
}; -
tboy93
nagyúr
-
tboy93
nagyúr
Sziasztok! Adott egy saját komponens, aminek vannak publikus metodusai. jQuery objektummá kell konvertáljam, ami megy is
$drop = $(dropdown);, viszont így az alap komponens metódusai elvesznek. Hogyan csináljak belőle úgy jQuery object-et, hogy közben megmaradnak a metódusai?$.extend-el próbálkoztam, de nem jártam sikerrel
-
tboy93
nagyúr
Javascriptben a függvény vagy metódusparaméterek mindig opcionálisak. ES6-tól a függvény paramétereinek lehet default értéket adni, ES6 alatt pedig lehet használni az arguments objektumot.
Köszönöm. Az arguments-el sikerült megoldani.
-
tboy93
nagyúr
Metódus túlterhelésre mik a bevett szokások javascriptben? Hogyan valósítsak meg egy olyan functiont aminek 0 és 1 paraméterrel is működnie kell? Nem hozhatok létre két függvényt erre a célra.
-
tboy93
nagyúr
-
tboy93
nagyúr
dropButt.click(function(){
toggleDropDownContent(dropContent);
return false;
});A
return false;hiányzott neki valamiért
-
tboy93
nagyúr
En nem mondom, mint a tobbiek, hogy ne igy csinald. Ezt a feladatot kaptad igy csinald szepen meg, bar agyuval losz a verebre semmilyen dropdown a mai vilagban nem igy mukodik mint ahogy ezt csinalod. Ettol fuggetlenul kalapald valahogy ossze es utana kezdj el egy normalis eletszeru feladaton dolgozni.
Mondok 1-2 peldat:
1: js tanulasra -> irj egy backend-frontend alkalmazast. A backend legyen egy sima faek egyszerusegu REST szerver. express vagy koa peldaul. Ne csinaljon tobbet mint regisztraljon 1-2 endpointot es adjon vissza par adatot. A frontend legyen angular vagy react es ne csinaljon mast mint kommunikaljon a backenddel kerje el az adatot es jelenitsen meg belole egy chart-ot. Pl d3-al. Ez egy egyszeru kezdoknek is egy nap alatt veghez viheto feladat es erinti azokat a dolgokat amikkel nap mint nap fogsz talalkozni front-end fejlesztokent. AJAX, charting, FE framework stb..
2: css tanulasra -> csinalj egy olyan komponenst ami egy jobb oldali menu sort implemental. A kepernyo jobb oldalan teljes magassagban egy mondjuk 70 pixel szeles savban ikonokat tud tarolni, pont mint egy navigacios menu. A kihivas benne az, hogy ez a sav fix 70 pixel szeles legyen DE ha tobb ikont teszunk bele mint amennyi latszodna az aktualis bongeszo meretetol fuggoen akkor a lelogo ikonokat eltunteted (overflow:hidden) viszont ha raviszed az egeret a 70px szeles savra akkor baloldalon kinyilik a panel es lathatova valnak a nem latszodo ikonok.
Lehet nem ezeket fogod csinalni vegul, de szerintem ezek sokkal inkabb eletszeru feladatok mint egy dropdown implementalasa js-ben.

Egyébként a button-re kattintva a chrome logból ez derül ki:
Navigated to file:///C:/Bitbucket/webfeladat/partnerek.html?És tényleg olyan mintha betöltené az egész oldalt újra gombnyomásra. Ezt miért csinálja? Sehun nincs hivatkozás vagy ilyesmi

-
tboy93
nagyúr
Nem értem a problémát. A HTML rész kigenerálása valamilyen template enginnel (blade, pug, jinja, whatever) az egy dolog. Erre ráhúzni a fentebb linkelt CSS-t, megint más. Független a kettő egymástól.
MVC fejlesztés lesz a fő feladatom
Ez a kijelentés így hibás. Az MVC egyfajta logikai struktúra. Ez szintén független a témánktól.ehhez szükséges HTML, CSS, Bootsrap 3, jQuery, JS tudást kell felszednem
Pure CSS megoldás fentebb, de a Bootstrap is rendelkezik beépített dropdownnal. Az más kérdés, hogy ha jól emlékszem akkor ők JS-sel oldják meg, de szigorúan magány véleményem szerint a bootstrap semmilyen szempontból sem követendő példa.Milyen szinten akarsz JS-t tanulni?
Azért kérdeztem, mert ajánlottam volna olvasni valót.Ilyen MVC

Bootstrappel már megvalósítottam, most saját JS komponenst kell létrehoznom.
Annyi JS kell, amivel neki tudok esni az ASP.NET MVC-nek.
-
tboy93
nagyúr
-
tboy93
nagyúr
-
tboy93
nagyúr
-
tboy93
nagyúr
Sziasztok! JS-t tanulgatok és akadt egy problémám. Custom dropdown komponenst kell létrehoznom, ami félig meddig sikerült is, de valamiért a buttonra kattintva csak egy pillanatra nyílik le a legördülő menü, majd eltűnik az éterben. Mi lehet az oka?
Új hozzászólás Aktív témák
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- ASUS RX 9070 XT 16GB GDDR6 PRIME OC - Új, 2 év gari - Eladó!
- Fujitsu LIFEBOOK E459 I3-8130U 8 GB 256 GB NVMe 15,6" FullHD laptop
- HP ProBook 450 G8 I3-1115g4 8 GB 256 GB NVMe 15,6" FullHD IPS laptop
- Lenovo Thinkpad T14 G2 Ryzen 3 5450u/16GB/256 GB SSD/14"FHD gyári gar
- HP Elite x2 G4 I5-8265U/8 GB RAM/256 SSD/3k IPS TOUCH 2in1 laptop és tablet
- BESZÁMÍTÁS! 8TB WD RED WD80EFAX HDD meghajtó garanciával hibátlan működéssel
- ASUS ROG Strix Z790-A Gaming WIFI D4
- BESZÁMÍTÁS! ASUS H510M i5 11400F 16GB DDR4 500GB SSD RX 6600 8GB Rampage SHIVA FSP 500W
- Lenovo X1 Carbon 13,3" - i5 7300U, 8GB RAM, SSD, jó akku - számla, 6 hó gar
- 4db GAINWARD RTX 4090 Phantom HŰTÉS!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest





Senior kolega a
Mindegy, megoldottam, köszönöm szépen a tippeket mindenkinek, lehet még jövök párszor




