Ha futtatom, nem történik meg a form reset. Ha simán kiveszem a reset részt a toggle callback-jéből, akkor megtörténik, de látható, mert azonnal lefut az animáció elindulása után (és pont ezt kerülném el az elegancia végett).
Már szétgugliztam magam, de mindenhol azt írják, hogy a fenti script a jó módszer. Akkor mi a gond? Utoljára szerkesztette: 355, 2016.12.15. 14:02:33
Bakker, a :hidden. A toggle hiddenre állít mindent, így aztán nincs reset. Hüje, aki kopipészttel programoz :)
Ránéznétek erre a kis progira ? Az a lényeg hogy ha rákattintok a kis képekre, megjelenik egy div-be nagyobba. Majd úgy lehet eltüntetni hogy még egyszer rákattintok a kis képre vagy leviszem róla a kurzort. Ha megnézitek a hover nem jól működik, mert csak akkor reagál, ha leviszem a kis képről a kurzort, majd visszahelyezem rá és csak akkor tűnik el a kép, ha ezután lehúzom a kurzort. Ha ezt egyszer megcsinálom utána már jó. Valaki megoldást rá?
Itt a progi Utoljára szerkesztette: Bandee28, 2016.12.26. 21:56:28
Azon kívül, hogy elég össze-vissza ahogy írtad a javascriptet a konkrét problémád forrása, hogy akkor hozod létre a listenert, amikor az egér már rajta van a td-n. A js engine úgy működik, hogy mouseleave csak akkor lehet, ha volt mouseenter, amit addig nem érzékelt, mert nem is figyelte (első alkalommal nem volt még semilyen listener, se enter, se leave). Ha kiemeled a listenert kívülre és előrre regisztrálod, akkor meg is van oldva. Egy kis takarítás/egyszerüsítéssel ez kb így néz ki. Pár egyéb: - Ennyi alapján kephover class-t feleslegesen pakolászod le-fel, nem tudom miért nincs eleve a megjelenítő div-en. - Kondíciók a listenerekben fussanak, ne pedig a listenereket cserélgesd/pakolásszad egymásra. - Nézz picit utána mi mikor fut le javascript-ben, pl amit alján tesztelsz, hogy klikk az 2, akkor myFunction1-et használd az soha nem fog teljesülni, azon a ponton a klikk mindig 1, mivel az lefut mindenféle kattintás előtt.
Nézzetek rá erre a kódra, valamiért nem műxik. Van egy menűsorom rajta 4 gombbal, ami érzékeny lenne a weblap szélességének változtatására, ha egy gomb fölé viszem az egeret egy kis felirat jelenik meg felette. A felirat position: absolute -ra van állítva, ha változtatom a böngészőm szélességét a felirat már rossz helyen jelenik meg, ezt próbáltam megoldani. Légyszí nézzétek át, lehet hogy csak szintaktikai hiba van.
$(window).resize(function() {
$('nav ul li.trans').hover(function(){ var liki = $(this).attr('id');
if ($(this).attr('id') = "li1") { var actualLeft = 100 - ((341 / $(window).width())* 100); var pixelLeft= $(window).width() * (actualLeft / 100); $('#li1:hover .text').css('left', String(pixelLeft)+'px'); } else if ($(this).attr('id') = "li2") { var actualLeft = 100 - ((241 / $(window).width())* 100); var pixelLeft= $(window).width() * (actualLeft / 100); $('#li2:hover .text').css('left', String(pixelLeft)+'px'); } else if ($(this).attr('id') = "li3") { var actualLeft = 100 - ((170.5 / $(window).width())* 100); var pixelLeft= $(window).width() * (actualLeft / 100); $('#li3:hover .text').css('left', String(pixelLeft)+'px'); } else if ($(this).attr('id') = "li4") { var actualLeft = 100 - ((94.7 / $(window).width())* 100); var pixelLeft= $(window).width() * (actualLeft / 100); $('#li4:hover .text').css('left', String(pixelLeft)+'px'); }
}); });
Az az érdekes hogy a firefox konzolba a "liki" -re is not defined-ot ír.
1) miért tudna a ff console a liki változódról? hol van hozzáadva a window-hoz? 2) html kódot is adsz mellé? 3) használd kérlek a code tag-et, úgy még látszana is valami 4) minek a String() ? 5) :D az ifjeidben egy darab egyenlőségek, tehát értékadások vannak, persze hogy nem működik :) 6) minek a 8 var? tetején deklarálod üresen, aztán meg... hát igazából nem is kell var 7) deklarálod a liki-t (jó beszédes), aztán meg nem használod.. 8) a logikád elég fura, pakolászod az eventeket a resize-ra meg a hoverre a végtelenségig, átgondolnám
így már kinéz valahogy, meg működik is [code]$(window).resize(function() {
$('nav ul li.trans').hover(function() {
var liId = $(this).attr('id'),
move = 0,
pixelLeft;
if (liId === 'li1') {
move = 341;
}
else if (liId === 'li2') {
move = 241;
}
else if (liId === 'li3') {
move = 170.5;
}
else if (liId === 'li4') {
move = 94.7;
}
Köszi sikerült hála nektek. Az utolsó 2 sort kellett picit átírni: . . . pixelLeft = $(window).width() *( (100 - ((move / $(window).width()) * 100)) / 100); $('#'+liki+':hover').find('.text').css('left', pixelLeft + 'px'); }); });
Jonnyka, Malakai azt hogy kell megoldani, hogy ne csak átméretezéssel (resize) számítsa ki a felirat pozícióját, hanem már azzal hogy megnyitom a weblapot?
Pont azért mert resize eseményben vannak a funkciók. Csinálj a resize-on belüli tevékenységből egy függvényt és hívd meg onready-kor (esetleg $(window).load()-ban) és resize event esetén is. Legyél moduláris:)
Van egy oldalam, rajta egy egyszerű jQuery post, ami az eredményét hozzáfűzi egy div tartalmához. Működik.
Most szétszedném három részre a dolgot: lenne egy fánksön, ami postol és visszaadja az eredményt, egy, ami ezt megkapja és hozzáfűzi valamihez, és egy (vagy több), ami ezeket használja. Megírtam a kódot így:
function getPPData ( id ){
$.post('list.php', { holder: id }).done(function(data){
alert ( "1\r\n" + data );
return data;
});
}
function putPPData ( data, target ){
target.append( data );
}
$('#ppScanned').blur(function(){
var ppID = $('#ppScanned').val();
if ( ppID !== "" ){
$.ajaxSetup({async:false});
var target = $( '#cLeft' );
var ppData = getPPData ( ppID );
alert ( "2\r\n" + ppData );
putPPData ( ppData, target );
}
});
De nem működik. A szegényember-debugja-alert szerint az async ki van kapcsolva, megtörténik az 1. lépés (post, az adatok megjönnek), aztán a 2., de ott a ppData = undefined. Mi a gond? Rosszul adom vissza a post ereményét a returnnel?
Utoljára szerkesztette: 355, 2017.02.05. 11:32:31
Rég jQ-ztam, de alapvetően így kellene:
[code]
function getPPData ( id ){
return $.post('list.php', { holder: id });
}
function putPPData ( data, target ){
target.append( data );
}
$('#ppScanned').blur(function(){
var ppID = $('#ppScanned').val();
if ( ppID !== "" ){
// $.ajaxSetup({async:false}); //szerintem erre semmi szükség
var target = $( '#cLeft' );
Lényeg hogy a promise blokkban kell mindent csinálni, amivel meg akarod várni az eredményt. Több XHR hívást is végezhetsz szimultán, azokat így tudod megvárni:
Szeretnék ezzel feltölteni egy formot. Vadásztam erre egy scriptet:
function pop( frm, data ){
$.each( data, function( key, value ){
var ctrl = $( '[name='+key+']', frm );
switch( ctrl.prop('type' )){
case 'radio': case 'checkbox':
ctrl.each( function(){
if ( $( this ).attr( 'value' ) == value) $( this ).attr( 'checked',value );
});
break;
default:
ctrl.val( value );
}
});
}
A jQuery kiakad rajta: "TypeError: invalid 'in' operand a @ jquery.min.js (2. sor, 3990. oszlop)". Egy csomót gugliztam már, de nem tudom megoldani. A JSON php json_parse-ból jön és tök szabványos, és a form minden elemének van benne adat. Mi lehet ez?
NodeJS cluster kérdés. cpu.length-en iterálva cluster.fork működik szépen. Milyen optimalizációra lehet még szükség? Van valakinek tapasztalata a finomhangolásában? Érdemes kommunikálni a workerkekkel? Milyen esetben, hogyan? Nem google érdekel, személyes tapasztalatokra lennék kíváncsi. Utoljára szerkesztette: MerlinW, 2017.02.07. 15:05:41
jelenleg online marketinges vagyok (webmaster tools, google analytics, seo tools, social media felületek) amiket kezelek. olyan fél éve bele kellett tanulnom a hírlevél szerkesztésbe és a photoshopba (html szerkesztés, grafikák/bannerek készítése) amit nagyon élveztem. ezért belevágtam a freecodecamp front-end kurzusába, valamint egy udemy-s web developer bootcamp kurzusba. a kérdésem az lenne, hogy a html, css, javascript szentháromság mellett miben érdemes még "elmerülni" hogy minél hamarabb elhelyezkedhessek, mint junior front end fejlesztő?
sokan azt mondják hogy a css-re fektessem a legtöbb hangsúlyt, a többi majd jön akkor, ha lesznek napi projektjeim is frontend szinten.
most jelenleg a bootstrap-et tanulom, utána jön a javascript, jquery, angular, stb stb a kurzusban. van még egy magyar projekt, a codeberry programozóiskola, amelyet lehet hogy bepróbálok majd.
van ilyen frontendes topik ahol ezekről lehet beszélgetni az sg-n? mert ez a poszt nem feltétlenül a javascriptről szól :)
js sokkal fontosabb mint a css, jquery alap, angulart, reactot nem árt vágni, ES6 mindenképp legyen meg, nodejs, npm, grunt, gulp, systemjs, meg ilyen egyéb js "kezelő" csomagok mindenképp, meg a teszteléssel sem árt képben lenned (jasmine pl) ha css-sel foglalkozol, akkor sasst meg lesst ismerd, értsd pár templating lófasz legyen meg, ilyen jade, és társai, ne csak a szimpla html kódot ismerd ezekkel már juniorként el tudsz indulni
+ webpack, babel, typescript, redux, docker. Grunt-al szerintem már nem kell foglalkozni, ahogy AngularJS-el sem (főleg nem, ha fontos tényező a SEO), csak Angular 2 és 4-el. Aztán ott vannak a teszteléshez a jest, jasmin, karma, selenium, stb libek. Utoljára szerkesztette: MerlinW, 2017.08.04. 22:43:50
valamint találtam egy "Eloquent Javascript" nevű könyvet, ezt ismeri valaki? ffc közösségben ajánlották nekem. A weboldaláról pdf változatban ingyenesen letölthető:
'estét! Van egy HTML5 Files API-ra támaszkodó preview funkcióm, íme:
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
var noOfImgs = parseInt( input.files.length );
if ( noOfImgs > 6 ){
alert( 'You can only upload a maximum of 6 files' );
}
else {
reader.onload = function (e) {
$('#logoImg').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
else {
alert ( 'Sorry, your browser does not support Files API.' );
}
}
Erre alapozva egyszerre több képet is fel tudok tölteni, de csak egyet tudok a preview-ben bemutatni. Úgy gondoltam, hogy tudva a noOfImgs értékét (mondjuk 4), egy for ciklussal és jQuery appenddel befűzök pár új img elemet.
Hogy kell a result-on végigmenni, ha mindet be akarom mutatni?
ööö jól értem hogy az a kérdésed hogy hogyan néz ki egy for ciklus?[code]var i, file;
for (i in input.files) {
file = input.files[i];
// csinálsz amit akarsz a file objektumoddal, pl:
console.log(file);
reader.readAsDataURL(file);
}
Nem, az a kérdés, hogy MIN kell végigmenni a for ciklussal, hogy az egyes img elemek különböző src-t kaphassanak. Egy elemre ott a
$('#logoImg').attr('src', e.target.result)
...de ha több file van feltöltésre kijelölve, akkor pl. a
$('#logoImg').attr('src', e.target.result[0])
...meg [1], [2] stb. nem működik (és az is megvan, hogy nem adhatok egyforma ID-t az img elemeknek). Azt nem tudom, hogy honnan kell vennem a következő src értékét.
De ha jól értem, pont erre adtál megoldást a (i in input.files) résszel.
előállítani most se állítasz elő img elemet, gondolom már a htmlben benne van neked a #logoImg ha jsből akarsz képeket létrehozni, akkor itt van vanilla példa, vagy csak simán jQuery-vel valamihez hozzáfűzögetsz új elemeket (pl. $('<img />').appendTo('akarmilyendiv')) nyilván mindezt a for cikluson belül, ahova én a console.log-ot írtam
Javascript-n kívül más programozási nyelvek is megtalálhatók az oldalon. Oldal érdekessége hogy össze lehet hasonlítani az egyes programozási nyelveket, előnyös lehet ha valami más programozási nyelvben már jártas vagy és meg szeretnéd tudni hogy ugyanaz a parancs hogy néz ki pl. Javascriptben.
Mikor érdemes áttérni az ES2016, Typescript, Angular/React szintekre?
Mik számítanak "alap" Javascript tudásnak amik meglegyenek ezekhez ?
tokmind1 mer felejthetsz el kb mindent ami alap javascript ugyhogy most
Persze a konkrét esetedben ez használható, de valamilyen function-el lehet érdemes, különben 1) randa 2) duplán futtatsz query-ket.
Vagy kis native reduce okoskodással, ez dettó üres jquery collection-t ad vissza, vagy az első találatot (mint ahogy a példádból úgy tűnik neked kell):
Azért nincs gyakorlati haszna, mert ez a javascript parser elég kivételes esete miatt és a gyakorlatban ritkán használt type konverzió miatt működik így.
Parser: Amikor a javascript parser a kódban látja a sor elején a {} zárójeleket (expression elején pontosabban, ezért ugyanez console.log()-ban is működik), akkor egy üres blokkot lát (mint pl kondíció, funkció blokkja), nem pedig egy üres object literalt. Mivel üres blokk, így csak átugorja és megy tovább, onnantól a maradék már egy unary operator (-) és egy üres array ([]). Az-az ugyanaz, mintha csak ez lenne: -[] És ezért nem működik, ha már változóba teszed a zárójeleket az elején, mert akkor már ténylegesen egy üres object-el próbálod elvégezni.
Ritka type konverzió: Üres array-en type konverzió egy a sok type konverzióból javascript-ben, aminek nem sok értelme, de ez legalább egy olyan amivel ritkán találkoznál gyakorlatban. Amikor a unary operator-al egy pozitív, vagy negatív számként akarod kezelni, akkor átváltja előbb boolean-re és azt számra és mivel az üres array falsy ezért 0. Ezért kapsz az unary operator-al -0-át a "kivonásnál".
Nagyon sok fura, logikátlan típus konverzióban javascript-ben, csak egy példának, ha unary operator helyett binary operator-ként próbálod egy tényleges számmal összeadni az üres array-t, akkor már NaN-t kapsz, vagy pl ha nem üres array-t próbálsz unary operator-al számmá konvertálni, akkor megint csak NaN-t kapsz 1 helyett.
Gyakorlati tanulság max annyi, ha egy argumment-ben / paraméterként többféle típust elfogadsz, akkor mindig ellenőrizd, hogy milyen típussal dolgozol. :) Utoljára szerkesztette: Malakai, 2018.08.03. 14:10:38
"Gyakorlati tanulság max annyi, ha egy argumment-ben / paraméterként többféle típust elfogadsz, akkor mindig ellenőrizd, hogy milyen típussal dolgozol. :)"
Segítünk, ha van kérdésed. Pénzért dolgozunk, nem segítünk. Az "akár nem ingyen!" mondatból kiindulva pedig valszeg nem tudnál megfizetni minket:) Utoljára szerkesztette: MerlinW, 2018.09.25. 21:04:30
Hogy ez a Vagrant mekkora találmány... hogy a fenébe kerülte el a figyelmemet eddig? Már 6 éve jelen van...
Igen, én is sokat használtam. Igaz most már egy jó ideje inkább a "container-ek" használata lett a népszerűbb, még dev környezetre is, Docker, Kubernetes...
tudok most egy remote-ban végezhető NodeJS melót írországban, spoilerben a rövid leírás, ha érdekel valakit, támadjon meg priviben, és elküldöm a kontaktot ha lenne napi 40 órám, én magam vinném a melót, szóval ajánlom
Getting in touch with an urgent Node.js role which has just been called in. Based in an idyllic location in the heart of Dublin, my client assist companies and developers with building electronics and then connecting them to the Internet with only a few lines of code. They have taken the market by storm, with their product being used already in hundreds of countries by thousands of developers.
The team are currently searching for a talented Node.js Developer to join them. If you consider yourself focused, hardworking and the idea of working in a fast-paced environment immersed in a creative, entrepreneurial company, this could be the role for you.
Working closely with the CTO, you will gain exposure to the full tech stack, consisting of:
• Node.js • JavaScript and React • AWS including EC2, Redshift • Git, Travis CI, Docker • MySQL, Redis, RabbitMQ
The successful Node.js Developer will work in the team of hardware and software engineers and will be involved in the full life cycle of the products.
This role allows for great flexibility and provides excellent opportunity for you to make a strong impact from Day 1. If you are they type of person who is self-motivated and hungry to advance your skills in a growing company, you will fit in very well.
Interviews are already underway, and I do not see this role being open for long, so if you would like any additional information, get in touch immediately .