Hirdetés
- sh4d0w: Kalózkodás. Kalózkodás?
- bambano: A sor végén
- btz: Internet fejlesztés országosan!
- Brogyi: CTEK akkumulátor töltő és másolatai
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Pötyi: 4. RETRO KONZOL ÉS SZÁMÍTÓGÉP BÖRZE - '25. november 16.
- Luck Dragon: Asszociációs játék. :)
- Sonarr és Radarr
- bambano: Bambanő háza tája
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
Speeedfire
#409
üzenetére
Azok alapján, amit eddig írtál, gondolom egy fájlban van a PHP-kód, a statikus HTML-tartalom, valamint a JS- és CSS-kód is.
Gondolom valahol tényleg szintaktikai vagy ehhez hasonló hiba van, de megint nem látunk sajnos teljes kódot, így nem tudjuk azt mondani, hogy figyeljééé máá, a 62. sorban van egy felesleges plusz karakter, ami borítja az egészet...
Először szedd szét, amit tudsz, pl. a CSS-tartalmat meg a JS-kódokat pakold külön fájlba, azt amúgy is úgy illik.
Minimálisra redukáld pl. a szerveroldali kóddal generált JS-kódot, ha elkerülhetetlen, hogy legyen pár sor, akkor is. Jól megtervezett esetben amúgy is elég, ha JavaScript-kódból mondjuk csak változóknak történő értékadást generálsz le, a többi mehet külön fájlba "statikusan".Szerk.: amúgy meg ja, ahogy Karma mondja, a fejlesztőeszközök sokszor egyből megmondják a tutit, vagy legalább rávezetnek a megoldásra, hogy mit sikerült elrontani.
Szerk. 2.: egyébként a JS-kód melyik részére mondja azt, hogy van unexpected token illegal? Ilyenekre figyeltél, mint az UTF-8 kódolás BOM nélkül és egyebek? (bár gondolom máshol kell keresni a hibát, de azért megkérdezem)
-
Karma
félisten
válasz
Speeedfire
#409
üzenetére
Én most a helyedben elővenném a Chrome fejlesztői panelját, vagy a Firebugot a rókás böngetőben, és megnézném a Net fülön hogy pontosan mi is töltődik le a böngésződbe.
-
Karma
félisten
válasz
Speeedfire
#407
üzenetére
Nem varázsoltál valamit a háttérben? A .kor.active elvileg IE6-on kívül mindenhol kell, hogy működjön.
-
Karma
félisten
válasz
Speeedfire
#404
üzenetére
Túlságosan ráérek. [link]
0) A hosszú beágyazott HTML-hez nem nyúltam érdemben, csak átírtam JSLint által validálható kóddá. (Hasznos ám, nyomkodd sűrűn.)
1) Kijavítottam a felesleges #-ot, jé működik a hozzáadás és törlés is.
2) Semmi szükség a toString()-re fenn, hiszen stringet kapsz a split után
3) A színt bízd inkább a CSS-re, ne huzalozd be a kódba, semmi köze hozzá.Az ilyen codemetikába, hogy legyen minden változód azonos nyelvű, inkább nem másztam bele, de oda kéne figyelni rá a jövő érdekében. És a logikát is rád bízom inkább, a te bajod

-
Karma
félisten
válasz
Speeedfire
#404
üzenetére
Nem ártana, ha a HTML kódod releváns részleteit is idetennéd, mert a gondolatolvasás nem egy univerzálisan elvárható képesség

Nekem például egyáltalán nem világos, hogy most akkor a divek ID-jét te adod hozzá szkriptelve, vagy már előre megírtad, mert se a kódból nem látszik, se a zagyva szövegből.Oké, már látom, hol tákolod bele. Nem kéne hashmarkot tenni ott bele egyrészt, másrészt nagyon ronda, nézd át az idézőjeleket. Jobb lenne, ha ezt a fragmentet valahol máshol tárolnád és klónoznád szerintem.
Sőt még jobb lenne, ha a jsFiddle vagy a jsbin szolgáltatását elkezdenéd használni, és onnan linkelnél, mert ez így fájdalmas mindenkinek.
-
Sk8erPeter
nagyúr
válasz
Speeedfire
#401
üzenetére
"Azt szeretném visszakapni itt, hogy #kamera-1 //az id[1] értéke egy szám minden esetben
Viszont, ha használom a selectorban a kamera változót akkor a html-ben már nem jó.
<div id="#kamera-" 1""="">"
Huhh, néha nem egyszerű kiigazodni a kérdéseiden, egy miniatűr, félig repedt információmorzsából kiindulva.
Mi az, hogy "ha használom a selectorban a kamera változót, akkor a html-ben már nem jó"?
Hogyan használod? Nem írtál erről semmi egyebet... -
Sk8erPeter
nagyúr
válasz
Speeedfire
#399
üzenetére
Akkor add meg RGB-ben.
Na, de nem szólok bele, ez igazából annyira nem is problémás. -
Sk8erPeter
nagyúr
válasz
Speeedfire
#397
üzenetére
Mondjuk sztem lehetnél konzekvens, hogy akkor már következetesen vagy hexában, vagy rgb-ben adod meg...

-
Sk8erPeter
nagyúr
válasz
Speeedfire
#394
üzenetére
Az if-nél a $(this)-ed szerintem nem jó.
Próbáld valahogy így (persze nem próbáltam ki, meg nem tudom, mi a célod, csak gyorsan leírtam, de talán jó):
$(document).ready(function () {
var circleBgColors = ['rgb(0,128,0)', '#e5e5e5', '#008000'],
$circleObj = $('.kor');
if ($circleObj.css('background-color') == circleBgColors[0]) {
$circleObj.css('background-color', circleBgColors[1]);
} else {
$circleObj.click(function () {
$(this).css('background-color', circleBgColors[2]);
});
}
}); -
martonx
veterán
válasz
Speeedfire
#389
üzenetére
gondolom silverlight vagy flash. Mivel silverlight a userek kb. 60%-ánál van csak (és jó eséllyel még ennyinek sem), inkább a flash-t javasolnám.
-
Peter Kiss
őstag
válasz
Speeedfire
#389
üzenetére
Le lehet kezelni a nyomva tartást és az elengedést is.
-
Sk8erPeter
nagyúr
válasz
Speeedfire
#386
üzenetére
A Superfish-nél megoldották azt is, hogy egy kis késleltetés után tűnjenek el az almenük, amire korábban rámentél, így nincs az az idegesítő jelenség, hogy mondjuk meg akarsz nyitni egy menüpontot, föléviszed az egeret a főmenünek, megnyílik az almenü, annak még egy almenüjét végre sikerül megtalálnod, afölé is viszed az egeret, de véletlenül mellétolod az egeret egy pixellel, és máris eltűnik az al-almenü, és akkor kezdheted a navigálást az elejétől.

Amúgy tényleg fasza a Superfish, én Drupalnál használom, van modul is hozzá. Mondjuk Drupalnál még annyiból is egyszerűbb a dolog, hogy ott még olyan nagyon konfigolgatnom sem kell (a legtöbb dolog beállítható grafikus felületen is), egy sor jQuery-kódot nem kell írnom, mert az generálódik, szóval csak engedélyezem, beállítom, mit jelenítsen meg Superfish-menü formájában, beállítom a megfelelő blokkokat is, és kész van. Most ezt csak azért mondtam el pluszban, mert írtad már korábban, hogy Te is használsz Drupalt.
===
Szerk.: amúgy ha továbbra is a sajátot szeretnéd megoldani, akkor rakd már fel jsbin-re vagy jsfiddle-re a mintakódot plíz, hogy ne nekünk kelljen tökölni vele.

-
Sk8erPeter
nagyúr
válasz
Speeedfire
#384
üzenetére
Használd ezt, és ne szopasd magad saját menüanimálós pluginek készítésével:
SuperfishMár nem merek belekezdeni sem a jsbin-en kód mutatásának, mert aztán tuti kiderül, hogy valami totál másra gondoltál...
Egyébként jó lenne, ha a kezdeti próbálkozásaidat Te is jsbin-re vagy jsfiddle-re tennéd fel, így kicsit gyorsabban menne a közös problémamegoldás.
Azt már csak tovább kellene alakítgatni, utána meg csak egy linket bedobni a megoldással, és annyi. Vagy legalább abból gyorstippet adni.Az ezelőtti kérdésednél sem szerencsétlenkedtünk volna feleslegesen, ha mondjuk bedobsz egy képet róla, hogy mit szeretnél.
Meg eleve megtévesztett, hogy ide írtad, azt hittem, JS is lényeg belőle, vagy nem vágom. -
martonx
veterán
válasz
Speeedfire
#381
üzenetére
azért ez jquery topik lenne, nem pedig html, vagy css.
-
Sk8erPeter
nagyúr
válasz
Speeedfire
#379
üzenetére
Lehet, hogy még mindig nem ez az, amit szeretnél - de feltettem ide egy példát: [link].
Ha ez se jó, akkor illusztráld, írd körül, idézz szellemet, vagy valami.
Szerk.: ja, klattyolj a gombra. Gondolom JS-sel szeretnél valami elemet feltölteni tartalommal, ezért kérdezted itt.

-
Sk8erPeter
nagyúr
válasz
Speeedfire
#375
üzenetére
Ha már egyszer van egy ilyened:
var spt = $('span.mailme');
akkor itt a dollárjel és zárójel felesleges:
$(spt).after(.......)
ehelyett ez is elég:
spt.after(.......)(#377) Speeedfire :
"Ha van egy fix magasságú div, akkor meglehet oldani, hogy akámilyen hosszú szöveg is van benne mindig az aljára kerüljön?"
Mihez képest az "aljára"?
Ha olyan hosszú, hogy úgyis kilógna belőle, akkor minek kellene az aljára kerülnie?
Sajnos megint nem érthető a kérdés.
-
martonx
veterán
válasz
Speeedfire
#375
üzenetére
ha beleteszed egy .each-be?
-
Karma
félisten
válasz
Speeedfire
#358
üzenetére
A delay csak animációkra használható, ha ilyesmit akarsz késleltetni, akkor a setTimeout a barátod.
-
Karma
félisten
válasz
Speeedfire
#314
üzenetére
$("#munkaim div") Ez itt a szelektor, aláhúzva. Most a #munkaim ID-jű elemed minden tartalmazott divjére beállítja ezt a gátat az eseménynek, ezt kellene módosítanod úgy, hogy az történjen amit szeretnél

Így vakon nem nagyon tudok mit mondani rá pontosabban

Brown ügynök: Hogyan csinálod az AJAX hívást? Rosszul paraméterezve lehet, hogy plaintextben jön le, és nem parsolja át HTML elementekké az anyagot.
Egyébként miért kész elementeket töltesz le, miért nem simán JSON adatot? (Pl. ["Első", "Második", "Harmadik"])
Erre hívnál egy mapet, amivel megcsinálod a li elementeket, append és kész.
És még távolról hasonlít is az MVC-hez. Szerintem. -
Karma
félisten
válasz
Speeedfire
#312
üzenetére
Hát akkor írd át úgy a selectort, hogy csak a kép legyen benne

-
Karma
félisten
válasz
Speeedfire
#310
üzenetére
Juj. Csináld inkább ezt:
$(document).ready(function() {
$("#munkaim").click(function() {
/* valami a visszalépéshez */
});
$("#munkaim div").click(function(e) {
e.stopPropagation();
});
});Tehát a benne lévő aldivre explicite megírod, hogy ne passzolja felfelé a click eseményt.
(A galériát debugolni most nem érek rá.) -
Karma
félisten
válasz
Speeedfire
#307
üzenetére
A GalleryView (elég ocsmány) kódját olvasgatva egyszerű, közvetlen megoldás nem lesz erre szerintem. Viszont van egy eseményfeliratkozás (delegate), amit kihasználhatsz elvileg.
Ez lenne az én tippem:
$(document).ready(function() {
$('#gallery').galleryView({
panel_width: 900,
panel_height: 600,
panel_animation: 'none',
show_filmstrip_nav: true,
transition_speed: 500,
transition_interval: 2000,
show_panels: true,
show_infobar: false,
autoPlay: true
});
$('#gallery .gv_navPlay').trigger('click.galleryview');
}); -
jeges
senior tag
válasz
Speeedfire
#305
üzenetére
csak egy tipp:
$(document).ready(function() {
$('#gallery').galleryView({
panel_width: 900,
panel_height: 600,
panel_animation: 'none',
show_filmstrip_nav: true,
transition_speed: 500,
transition_interval: 2000,
show_panels: true,
show_infobar: false,
autoPlay: true
});
startSlideshow(); //ezzel szeretném meghívni, de nem megy...
});azaz a startSlideshow() elé pontosvessző kell
-
martonx
veterán
válasz
Speeedfire
#301
üzenetére
Tessék gugliztam helyetted kettőt. Ad-gallery-vel mi a gond?
http://www.tn3gallery.com/ - bár ingyenesen kicsit korlátozott a tudása, de a kritériumaidnak megfelel.
http://spaceforaname.com/galleryview/ -
martonx
veterán
válasz
Speeedfire
#299
üzenetére
akkor pontosabban megfogalmaznád az igényeidet? Amúgy nem mindegy, hogy mennyire paraméterezhető egy gallery? Maximum a sok tucat paraméterből te csak kettőt használsz majd.
-
martonx
veterán
válasz
Speeedfire
#297
üzenetére
főoldalon a harmadik plugin, a Smart Gallery. Egyébként mint mondtam gugli a barátod, keress kedvedre.
-
martonx
veterán
válasz
Speeedfire
#295
üzenetére
Ilyenekkel van tele az internet. De mondjuk kezd itt:
-
Sk8erPeter
nagyúr
válasz
Speeedfire
#284
üzenetére
Szerintem az a gáz, hogy a linkelt példaoldalon valahogy beállítja a default style-t, azt nem néztem meg, hogyan, és így beállítódik a theme-default class a wrapper div-ben.
Tehát a kép körül van egy ilyen szülődiv:
<div class="slider-wrapper theme-default">
...
</div>Gondolom ezt a theme-default class-t pedig a NivoSlider állítja be.
Amúgy kemény a megrendelőd... "Úgy elrebben az idő körülöttünk, hogy észre sem vesszük" Jót röhögtem ezen a mondaton... akart valami bölcset mondani, és az jött ki, hogy "elrebben"?
Meg a logóban "Designe" (e betű) Mondjuk az se lenne rossz, ha egy fotósnak jó fotói lennének.
Na jó, nem gonoszkodom tovább.Szerk.: és ja, az volt, amit írtam, itt a tutorialban írják is, hogy a default theme-hez az a wrapper div legyen, amiről beszéltem.
Az Inspect Elementes bogarászásnál ez mennyivel gyorsabb lett volna.
-
raczger
őstag
válasz
Speeedfire
#281
üzenetére
Nivo slider, de van még egy pár ami így néz ki.
-
jeges
senior tag
válasz
Speeedfire
#278
üzenetére
hja, mer' így kéne: $(valami).val("");
-
jeges
senior tag
válasz
Speeedfire
#276
üzenetére
vesszők vannak a parancsok között. ez az eredetiben is így van?
szerk:
$(".kapcsolatokuzenet").val() = '';
$(".kapcsolatoknev").val() = '';
$(".kapcsolatokemail").val() = ''; -
Sk8erPeter
nagyúr
válasz
Speeedfire
#273
üzenetére
Jaja, amúgy az a Growl is nagyon jól néz ki, szerintem eléggé fasza, ha így mutatsz egy rövid üzenetet a felhasználónak. Amúgy jQuery UI theme-ekkel is össze lehet hozni. Meg hát elég durván eseményvezérelt, mármint minden apróbb történés (pl. amikor elsötétül a kép, vagy megjelenik az üzenet, bezáródik az overlay, stb.) kivált valami eseményt, amire lehet függvényeket kötni, az meg nagyon hasznos tud lenni, ha testre akarod szabni.
-
Sk8erPeter
nagyúr
válasz
Speeedfire
#271
üzenetére
Ja, sejtettem. Az előzőekkel is lehet, de akkor újabb példa: [jQuery BlockUI], itt nézd az "Auto-Unblock - Sets a timer to unblock after a specified timeout." részt.
De amúgy ilyen időzítőt a jQuery UI Dialog-hoz sem nehéz beállítani (vagy bármelyikhez). -
Sk8erPeter
nagyúr
válasz
Speeedfire
#269
üzenetére
Ilyen fölső (vagy máshova is rakható) sávos megoldás, mint ez vagy ez? Mondjuk még hatmillió ilyen kis beépülőt lehet találni.
Amúgy meg nyilván bármi megoldható, ez is saját módon is.
Akár jQuery UI-os dialógusablakot is felvillanthatsz adott ideig, aztán eltünteted - az open esemény bekövetkeztekor elindítasz egy számlálót, annak lejártakor pedig meghívod a dialógus close metódusát... -
Speeedfire
félisten
válasz
Speeedfire
#267
üzenetére
Solved.

-
martonx
veterán
válasz
Speeedfire
#265
üzenetére
CSS3-nak hívják

-
szmegma
aktív tag
válasz
Speeedfire
#254
üzenetére
Pont egy ilyen kodot kerestem es ha nem problema fel szeretnem hasznalni.
Nekem mas projecthez kell, igy kicsit atalakitottam.

-
Speeedfire
félisten
válasz
Speeedfire
#253
üzenetére
Ok, meg is van a hiba. N00b vagyok, hiszem ahogy írtad id-t kér, nem pedig div elemet.
szoveg = tinyMCE.get("#hirtinyform").getContent();
csere
szoveg = tinyMCE.get("hirtinyform").getContent();Tádádádááááá, most megy.

-
Coyot
őstag
válasz
Speeedfire
#251
üzenetére
én így használom és működik, bár a lementés alatt nem tudom mit értesz, ez a JS függvény csak visszaadja az aktuális tartalmat, az hogy mit kezdesz vele az már rád tartozik. viszont id-val hivatkozik tehát a tinymce-d ID ja kell neki, értelemszerűen ID-s módban kell a tinyt használni hozzá.
max ha közzé teszed a kódot meg lehet nézni, így látatlanba ennyit tudok segíteni.
-
martonx
veterán
válasz
Speeedfire
#244
üzenetére
egyébként miért pont tiny. Ez a legkevésbé jquery kompatibilis. Javaslom helyette az fckeditor-t, vagy a cleditor-t. A cleditor különösen jó, mert 9Kb, azaz az oldal betöltődését nem lassítja, és közben egész sokat tud.
-
martonx
veterán
válasz
Speeedfire
#241
üzenetére
mit értesz az alatt, hogy elfutott a kép???
Végrehajtódott a submit?e.prevendefault vagy valami ilyesmi paranccsal meg tudod akadályozni, hogy elfusson a kép. Már ha jól értettelek.

-
Coyot
őstag
válasz
Speeedfire
#246
üzenetére
jajhát, guglizz!

function getText(id)
{
var content= tinyMCE.get(id).getContent();
//alert(content);
return content;
}
én ezt init előtt szoktam bepakolni. aztán tetszőleges számú tiny közül is mindig tudom melyiknek mi a tartalma. eccerű naccerű.
-
PazsitZ
addikt
válasz
Speeedfire
#246
üzenetére
triggerSave().
Majd le kellene tudnod menteni a textarea value-ként. -
Coyot
őstag
válasz
Speeedfire
#244
üzenetére
jahogy tiny.
tiny api ban nézd meg van rá egy JS függvény. de google a barátod

-
Coyot
őstag
válasz
Speeedfire
#241
üzenetére
az értékét meg .val() al veszed ki, nem pedig html-el.
-
Coyot
őstag
válasz
Speeedfire
#241
üzenetére
hirleveldivform html elem biztos hogy nicns, az vagy class vay ID.
-
martonx
veterán
válasz
Speeedfire
#239
üzenetére
ugyan nem próbáltam, de a tinymce is gondolom, hogy egy textarea fölé van húzva. Namost a textarea html-jét bármikor ki tudod olvasni jquery-vel. Nem kell ehhez semmi extra tinymce-s függvény.
Ez a módszer fckeditor-ral biztosan működik, nem hinném, hogy tinymce-vel ne működne. -
martonx
veterán
válasz
Speeedfire
#237
üzenetére
Mi volt a másik?
-
martonx
veterán
válasz
Speeedfire
#233
üzenetére
szerintem meg ez a változó deklarálás így nem globális. Illetve helyileg új változókat deklarálsz, és azoknak adsz értéket.
var szoveg = $("#hirlevelformdiv input").val();
var targy = $("#hirlevelformdiv textarea").val();Helyesen:
szoveg = $("#hirlevelformdiv input").val();
targy = $("#hirlevelformdiv textarea").val(); -
jeges
senior tag
válasz
Speeedfire
#233
üzenetére
az elsőhöz egy kérdés: van minden input-nak érvényes 'name' tulajdonsága?
-
martonx
veterán
válasz
Speeedfire
#229
üzenetére
úgy gondolom, hogy kaptál jeges-től és tőlem is egy-egy konkrét megoldási javaslatot. Ezek alapján már megoldható a feladat.
-
Speeedfire
félisten
válasz
Speeedfire
#228
üzenetére
A js részt így próbáltam megcsinálni, de nem akar összejönni. Most egy egyet csinál meg, nem megy tovább a program...
$(document).ready(function() {
var i = 1;
var max = <?php echo $max; ?>;
for (i; i<=max; i++) {
var idofolyam = setInterval(ajaxkeres(i),5000);
}
function ajaxkeres(i) {
$.ajax({
type: "POST",
url: "kuld.php",
cache: false,
async: true,
data: "i="+i,
success: function(msg){
$(".szamol").replaceWith(msg);
}
});
if (i==max) {
$("#kesz").append('Kesz!');
clearInterval(idofolyam);
}
}
}); -
jeges
senior tag
válasz
Speeedfire
#226
üzenetére
"hogyan csinálom azt, hogy a php visszaküld egy jelet egy adott divbe"
kliensen csinálsz egy átmeneti tároló div-et, és abba írod az eredményt a szerverről (semmi különösre nem kell gondolni, ahogy a $.load()-nak is megadsz egy "kimenet" elemet - jellemzően div -, úgy értem itt is.)
szerver-oldalon ez print vagy echo. -
martonx
veterán
válasz
Speeedfire
#223
üzenetére
mondjuk én adatbázis buzi vagyok, én beletenném egy táblába az email címeket, melléjük pedig egy oszlopban jelezném, hogy elküldtük-e.
A js csak annyit csinálna, hogy ajax-al meghívja a kuld.php-t, ami egyenként elkezdi küldeni a leveleket, egyúttal egy sessionbe beteszi a PHP, hogy éppen hol tart a küldéssel.Az ajax hívás kezdetén pedig indítanék egy setinterval-t, ami mondjuk x másodpercenként lekérdezi a PHP által írt session-t, és megjeleníti a sessionben lévő darabszámot.
Így szépen fog látszódni, hogy hány darabnál tartasz, és erre a visszakapott darabszámra bármilyen jquery-s progressbar-t játszva rá lehet húzni.
Mondjuk mindez nem oldja meg a php timeout-ot. Ha valami rendesebb tárhelyed van (vagy van ráhatásod a php.ini-re), akkor azért a php-d akár több 10 percig is futhat.
-
jeges
senior tag
válasz
Speeedfire
#223
üzenetére
ezt úgy lehetne megoldani, hogy a php-kód minden csomag elküldése után küld egy jelet a kliensnek (ez a "jel" aztán megjelenik a kliens valami div-jében). a kliensen mondjuk másodpercenként lekérdezed, hogy mi van a php-kód kimenetén, és ha változás van, jelzed a felhasználó felé, ha meg nincs, akkor valami timeout (mondjuk 15 másodperc) után leállítod a programot.
setInterval() fv alkalmas kliens oldalon az ütemezett lekérdezésrea kódok felépítése valahogy így nézne ki:
js:
1) szöveg küldése a php-nak, php-kód indítása - ez az ajax hívás
2) felület tiltás (modális ablak vagy fedőréteg)
3) ütemezett lekérdezés, mi van a php-kód kimeneti div-jében
4) a. ha a kimenet változik, elküldött levelek újraszámolása, frissítés a felhasználó felé
4) b. ha elértük a 3000-et (100%-ot), örülünk és leállítjuk a kódot
4) c. ha nem értük el a 100%-ot és timeouton túl nincs változás, leállítjuk a futást és megkérjük a júzert, hogy később próbálja újra vagy vegye fel a kapcsolatot a helpdesk-kelphp:
1) a js hívására a kapott szöveg alapján tömbönként elkezdjük kiküldeni a leveleket
2) minden elküldött tömböt tárolunk adattáblában, és minden elküldött tömb után küldünk jelet a kliensnek az elküldött levelek vagy tömbök számáról
3) a. ha végeztünk, leállunk (valami spec "vége" jel a kliensnek)
3) b. timeout - ez asszem automatikus szerver-oldalon (legalábbis php/apache esetében emlékeim szerint van valami automatizmus, ami leállítja a végtelen ciklusba került kódot), de őszintén megmondom, nem tudom most fejből. -
martonx
veterán
válasz
Speeedfire
#220
üzenetére
Te most valamiféle progress bar-t akarsz jquery-vel mutatni, ami jelzi a usernek, hogy mondjuk 3000-ből 45%-nál tart a feldolgozás?
Vagy miért kell a js-nek szinkronban lennie a php-vel? Az Ajax-nak a nevében is benne van, hogy aszinkron
-
jeges
senior tag
válasz
Speeedfire
#220
üzenetére
nem biztos, hogy jól értem. mi lenne az elvárt működés? php küld levelet valami jq-s admin felületen történt gombnyomás hatására?
-
martonx
veterán
válasz
Speeedfire
#218
üzenetére
success: function-be $(".szamol").append(html); után beleraksz egy újabb ajax-ot. Ennyi. Vagy félreértettelek?
-
Speeedfire
félisten
válasz
Speeedfire
#217
üzenetére
Javítva ez a sor és már megy is.

$(".szamol").append(html);
Márcsak azt kellene megoldani, hogy ezután az ajax ismét lefusson csak már data értékkel.

-
jeges
senior tag
válasz
Speeedfire
#167
üzenetére
én azt mondom, minél egyszerűbb, annál jobb. ha már működik, lehet vele figurázni (fent már írt hasonlót valaki). ez pl egyszerű de nagyszerű, nem köll hozzá js se, csak css. és ha működni fog, még mindig slide-olhatod a megfelelő elemeket.
-
jeges
senior tag
válasz
Speeedfire
#165
üzenetére
hja, látom.
az viszont esetleg lehet válasz az elcsúszásra, hogy a te tesztoldaladon minden li a sor elején van, az eredetiben pedig sorban egymás után. a float:left hiányzik nálad, ettől sorakoznak fel egymás mellé a li tag-ek.(azt továbbra sem értem, mi szükség erre a rengeteg ul-ra.)
-
jeges
senior tag
válasz
Speeedfire
#159
üzenetére
nem merültem el nagyon a kódban, de számomra legalábbis meglepő az a megoldás, hogy a menüsoron minden li elemnek saját ul-ja van. biztos, hogy ez volt az elképzelés? első blikkre azt gondolnám, egy legördülő menünek egy ul-ban vannak li tagjai, és az almenük ezeken belül további ul, ill li tagok szoktak lenni. nagyjából így:
<ul>
<li><a></a></li>
<li><a></a></li>
<li><a></a></li>
</ul>persze lehet, hogy én néztem el valamit.
a fenti ul-ok egyébként is valami miatt 0*0 pixelesek, ez sem biztos, hogy így kóser, de csak találgatok.
ennél mindenesetre láttam már egyszerűbb megoldást, számomra fura ez a plusz li tag beszúrás, mer' úgy tűnik, feleslegesen piszkálja a program a dom-ot.
-
Peter Kiss
őstag
válasz
Speeedfire
#162
üzenetére
Az ilyen hibákra a megoldást az jelenti, he első körben eltünteted a JS kódot, és csak a CSS marad meg. Ha úgy okés, akkor utána lehet effektelni.
-
martonx
veterán
válasz
Speeedfire
#159
üzenetére
Ha az Ügyfeleinknek, és a Leendő Ügyfeleinknek menük lenyílására gondolsz FF6 alatt teljesen szépen működnek.
Nem valami böngésző specifikus probléma lesz itt? -
jeges
senior tag
válasz
Speeedfire
#147
üzenetére
nem kell, erre találták ki az event delegation-t
például:
$(document).bind('mouseup',function(e){
// event object
if(!e)e=window.event;//event target
var t = e.eventTarget || e.srcElement;//code
// itt t már az az elem, amelyen a mouseup történt});
a lényeg az lenne, hogy a document is érzékeli az összes elemen történt eseményt, ezért csak egy listener-t regisztrálsz őrajta, ami a fenti módon képes megállapítani, melyik elemen történt az esemény. innen már nem kell minden input-hoz külön eljárást írni, csak egyet a közös szülőjükre.
-
jeges
senior tag
válasz
Speeedfire
#146
üzenetére
ha jól értem a kérdést, az esemény-kezelésre vagy kiváncsi. jq-ban több lehetőség is van. egy a sok közül:
$('.tbox').bind('focus',function(){
<code>
});
$('.tbox').bind('blur',function(){
<code>
});(csak arra kell vigyázni, hogy ezek a függvények módosítják a környezetet, azaz függvényen belül a 'this' már a $('.tbox')-ra fog mutatni)
-
Speeedfire
félisten
válasz
Speeedfire
#146
üzenetére
Megszültem.

$(document).ready(function()
{
$(".hirnev").focus(function ()
{
var t= $(this);
t.attr('value',t.attr('value').replace('név...',''));
t.css('color', '#000');
t.css('border-color', 'green');
});
$(".hirnev").blur(function ()
{
var t= $(this);
if (t.val == ''){
t.val('value',t.attr('value').replace('','név...'));
}
t.css('color', '#777');
t.css('border-color', '#EEE');
});
});1 hátránya van csak, hogy ezt minden input mezőnél el kell játszani.

-
jeges
senior tag
válasz
Speeedfire
#143
üzenetére
$('#hirnev').css('border', '1px solid red');
upsz, lehet, ez nem megy.
helyette:$('#hirnev').css('borderStyle', 'solid');
$('#hirnev').css('borderColor', 'red');
$('#hirnev').css('borderWidth', '1px'); -
jeges
senior tag
válasz
Speeedfire
#121
üzenetére
nem a színezés a lényeg, hanem hogy külön lehet definiálni, mit csináljon a cucc, ha sikeres a teszt vagy nem. az eljárások paraméterként megkapják a vizsgált elemet és a json-ban előre definiált (hiba)szöveget, ezzel azt csinálsz, amit akarsz. mindenesetre ha furcsállod a színezést, azér' nézd meg az elemek title-jét ellenőrzés után.

-
jeges
senior tag
válasz
Speeedfire
#117
üzenetére
kis segítség:
átírtam úgy, hogy az egyes ellenőrzések futtatása után az eredménytől függően végrehajtandó eljárásokat könnyebb legyen definiálni
(a példába egy egyszerű className-játékot és title-ban megjelenő hibaüzit tettem) -
jeges
senior tag
válasz
Speeedfire
#117
üzenetére
én szóltam, hogy nem annyira egyszerű

de legalább működik
-
válasz
Speeedfire
#112
üzenetére
Milyen dolgot bonyolítok túl, amikor te is ugyanazokat írtad le, amiket én? (szerver, és kliens oldalon is ellenőrzöl).
-
jeges
senior tag
válasz
Speeedfire
#112
üzenetére
egy lehetséges megoldás:
html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<title>teszt</title>
<style type="text/css">
#fm {width:500px;display:block;float:left;margin:0; padding:0;}
#fm label, #fm input {display:inline;float:left;position:relative;margin:0 0 5px 5px; padding:0;font:normal 12px Verdana;}
#fm label {width:200px; font-weight:700; text-align:right;}
#fm input {width:250px; text-align:left;}
#send {width:60px !important;font-weight:700 !important;text-align:center !important; margin-left:200px !important;}
#log {width:500px;height:100px;display:block;float:left;position:relative;}
</style>
<script src="rule.js" type="text/javascript"></script>
<script type="text/javascript">
myRule = {
first: {
sbj: "nm",
fnc: "nn",
prm: "",
msg: "A név kitöltése kötelező."
},
second: {
sbj: "yr",
fnc: "gt",
prm: 18,
msg: "Csak 18 év felett."
},
third: {
sbj: "yr",
fnc: "lt",
prm: 99,
msg: "Csak 99 év alatt."
},
fifth: {
sbj: "cn",
fnc: "rg",
prm: ["^hu","i"],
msg: "Csak magyar állampolgárok számára."
},
fourth: {
sbj: "cn",
fnc: "nn",
prm: "",
msg: "Az állampolgárság kitöltése kötelező."
}
}
window.onload = function(){
var sn = document.getElementById("send");
var fm = document.getElementById("fm");
var lg = document.getElementById("log");
sn.onclick = function(){
lg.innerHTML = "";
var fc = new formChecker(fm,myRule);
lg.innerHTML += "out: " + fc.out();
}
}
</script>
</head>
<body>
<form id="fm" name="fm" method="post">
<label for="nm">Name</label><input type="text" name="nm" id="nm" class="nm" value="name" />
<label for="yr">Age</label><input type="text" name="yr" id="yr" class="yr" value="age (years)" />
<label for="cn">Country</label><input type="text" name="cn" id="cn" class="cn" value="country (short, i.e. hu or en)" />
<input type="button" name="send" id="send" value="send" />
</form>
<br>
<div id="log"></log>
</body>
</html>js: (html-ben rule.js-ként hivatkozva)
function gotClass(obj,cl) {
var r = new RegExp("\\b" + cl + "\\b", "i");
var ob = ( typeof(obj) == "object" ) ? obj : $lm(obj);
if ( ob && ob.className && ob.className.match(r) !== null ) return true;
return false;
}
function firstChildofClass(p,cl) {
if (!p || !p.childNodes.length)return;
var ch = p.childNodes;
for ( var i = 0; i < ch.length; i++ ){
if (gotClass(ch[i],cl))return ch[i];
}
return;
}
function $fc(p, cl){
return firstChildofClass(p,cl);
}
function formChecker(fm,rule){
if (!fm) return;
this.fm = fm;
this.rule = rule;
this.res = [];
this.chk = function(){
var r;
for (var i in this.rule){
r = this.rule[i];
if ($fc(this.fm,r.sbj)){
var val = ruleCheck( $fc(this.fm,r.sbj) , r.fnc , r.prm );
if (!val) val = r.msg;
else val = "ok";
document.getElementById("log").innerHTML += "<br>val: " + val;
this.res.push(val);
}
}
}
// output
this.out = function(){
if (this.res.length < 1)this.chk();
var s = "";
for(var i = 0; i < this.res.length; i++ ){
if(this.res[i] != true)s += this.res[i] + "<br>";
}
return s;
}
}
function chk(obj){
this.v = (obj.value) ? obj.value : obj.innerHTML;
this.eq = function(b){
if (this.v == b)return true;
return false;
}
this.lt = function(b){
if (this.v < parseFloat(b))return true;
return false;
}
this.le = function(b){
if (this.v <= parseFloat(b))return true;
return false;
}
this.gt = function(b){
if (this.v > parseFloat(b))return true;
return false;
}
this.ge = function(b){
if (this.v >= parseFloat(b))return true;
return false;
}
this.nn = function(){
if (this.v.toString().length > 0)return true;
return false;
}
this.rg = function(b){
var bb = new RegExp(b[0],b[1]);
return bb.test(this.v);
}
this.exec = function(f, arg) {
var args;
return this[f](arg);
}
}
function ruleCheck(obj,f,prm){
if (!obj)return;
var c = new chk(obj);
return c.exec(f,prm);
}nem állítom, hogy tökéletes, de nagyjából működik
szabályokat json formában várja (ahogy a html-ben látszik)
az ellenőrző függvények persze bővíthetők, most csak néhányat írtam beleha kérdés merül fel, szólj
sry, jq-ban is lehetne, de nem akartam, mer' azér' a néhány getElementById-ért felesleges.
-
válasz
Speeedfire
#107
üzenetére
ha a textarea-ban van egy adott kifejezés akkor error
Ez nagyon jól hangzik, viszont nagyon kicseszel magaddal, ha ezt megjátszod. Milyen kifejezéseket tennél például bele?
Én egy zárt rendszernél mondjuk tiltottam a tipikus SQL kifejezéseket (update, insert, stb.) a felhasználónévből, jelszóból, stb., viszont egy nyilvánosnál ezt nem tudod megjátszani, különben a userek morogni fognak.
Egyébként
public rendszernéla js-en túl php-ban is ugyanúgy ellenőrizni kell mindent.Bár nem hiszem, hogy sokan módosítanák a html-ben ezt.
Már vérpisti szinten is simán megjátszható, hát akkor egy komolyabb cracker...
-
jeges
senior tag
válasz
Speeedfire
#105
üzenetére
ez a téma szép, de ennyire nem egyszerű.
milyen típusú ellenőrzésekre gondolsz? mennyire hagysz szabad kezet a felhasználónak, hogy beállíthassa saját ellenőrzéseit?
a legegyszerűbb ellenőrzés pl a kitöltöttség, de ennél jóval bonyolultabbakat is el tudok képzelni:
- numerikus valóban numerikus-e (jellemzően regexp)
- numerikus nagyobb/kisebb egy megadott értéknél
- két numerikus input közül az egyik nagyobb a másiknál
- két dátum input közül az egyik nagyobb a másiknál
- szöveges input esetében valamilyen regexp ellenőrzés (pl név nem lehet rövidebb 3 karakternél, vagy legyen benne keresztnév és vezetéknév)szóval a megvalósítás nagyban függ attól, mi az elvárt működés, én személy szerint olyasmiben gondolkodnék, hogy a tárolt ellenőrzési szabályokat rekordonként egy tömbben vagy JSON objektumban tárolom, majd definiálok egy check vagy hasonló nevű osztályt/függvényt, és a megadott tömbön végiggyalogolva minden rekordra meghívom. ez a függvény aztán eldönti a megadott tömb alapján, hogy mit fog csinálni (regexp, numerikus összehasonlítás, dátumok összehasonlítása, stb)
Új hozzászólás Aktív témák
- Futás, futópályák
- Milyen okostelefont vegyek?
- One otthoni szolgáltatások (TV, internet, telefon)
- Vivo X200 Pro - a kétszázát!
- Ennyiért vehetjük meg az első vízhűtéses gaming mobilt az EU-ban
- Milyen notebookot vegyek?
- Androidos tablet topic
- sh4d0w: Kalózkodás. Kalózkodás?
- Path of Exile (ARPG)
- Külföldi rendelések: boltok, fizetés, postázás
- További aktív témák...
- Thinkpad P16v Gen1 16" FHD+ IPS i7-13800H RTX A500 32GB 1TB NVMe ujjlolv gar
- Latitude 3450 14" FHD IPS Ultra 5 135U 16GB 512GB NVMe magyar vbill ujjlolv IR kam gar
- P16 Gen2 16" QHD+ IPS i9-13950HX RTX A1000 32GB 1TB NVMe magyar vbill ujjolv IR kam gar
- iPhone 17 Pro 512Gb
- HP EliteBook 820 G4 i5 7300U/24GB DDR4/256GB SSD/HD620/Win10Pro
- BESZÁMÍTÁS! ASROCK B650M R5 7600X 32GB DDR5 1TB SSD RX 7900 XT 20GB Zalman Z1 PLUS A-Data 750W
- 0% THM 6 havi részlet beszámítás! RX 9060 XT / 9070 / 9070 XT videokártyák készletről KAMATMENTESEN
- HIBÁTLAN iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3734
- Apple iPhone 15 128 GB Kék 12 hónap Garancia Beszámítás Házhozszállítás
- BESZÁMÍTÁS! Lenovo Legion 5 Pro 16 Gamer notebook - i7 13700HX 16GB DDR5 512GB SSD RTX 4060 8GB W11
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Minimálisra redukáld pl. a szerveroldali kóddal generált JS-kódot, ha elkerülhetetlen, hogy legyen pár sor, akkor is. Jól megtervezett esetben amúgy is elég, ha JavaScript-kódból mondjuk csak változóknak történő értékadást generálsz le, a többi mehet külön fájlba "statikusan".







Na jó, nem gonoszkodom tovább.





