- Magisk
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Brutál akkuval érkeztek az Ulefone X16 modellek
- IMEI szám tiltva bankba? Google wallet nem működik.
- Android alkalmazások - szoftver kibeszélő topik
- Átlépi végre az iPhone az 5000 mAh-t?
- Motorola Edge 60 és Edge 60 Pro - és a vas?
- LG V30 - vezércsel
- Samsung Galaxy S24 - nos, Exynos
Ú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
Hirdetés
- IPhone 15 128GB Zöld ÚJ! 12 Hó Jótállás!
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5060Ti 8GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 4070 Ti Super GAMER PC termékbeszámítással
- IPhone 15 Pro 128GB Szép Állapot! Akku:88% Jótállás: 2026.04.09.-ig
- LG 65" C1 OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest