firefoxos probléma

valakinek megígértem, hogy írok egy javascriptet, ami diavetítésszerűen cserélget képeket (tudom, hogy biztos van már kész megoldás, de abban nincs semmi szórakozás...)

no el is kezdtem írni. eddig így néz ki.
Hogy miért tömörítettem? Mert kifagyasztja a firefoxomat... Nektek is? Operával megjelenik.
A script maga ofkorz még nem működik, inkább csak kuriózumként raktam fel - hátha mást is kifagyaszt...

Hozzászólások

Firefox nekem is behal tőle kapástól, 100% prociterhelés mellett. Operában megjelleni megjelenik és az ablak nem fagy be, de a 100% processzorterhelés ott is megvan. Csak minimális programozói tudásom van, mert amúgy nem érdekel, de szerintem a scriptben van egy végtelen ciklus vagy nagy terhelést okozó eljárás, ami felvágja a procit a plafonra és ez öli meg a böngészőt.

hmmm, jogos. pár perc után firefox feléled, és szól, hogy valami belassítja.... de valahogy nem széép dolog tőle ez sem:)
főleg, hogy bármilyen javascriptkód csak az oldal betöltése után futhat le, direkt raktam az oldal aljára... tehát legalább egy résznek le kéne renderelődni....

viszont így már biztos a végtelenciklus:: miután lelőttem a scriptet, a debugdivben több mint 2000 üzenet jelent meg, pedig elvileg csak 20-30 kéne legyen maximum:)

_________________________________________
    ha egyetért velem, itt írja alá!    

tudom. ebben a konkrét esetben viszont logikus:
a javascriptkódot kétfele szedtem kvázi önkényesen, az tény: a fejlécben csak függvénydefiníciók vannak, azok normálisan nem futnak addig, míg be nem tölt az oldal alja a maradék scriptrésszel, ami meghívja.

abban reménykedtem, hogy legalább valamennyi lerenderelődik az oldalból, és a javascript is kiírja a debugüzeneteit a fagyásig bezárólag - és az már jó

de jelen pillanaban, hogy az adott problémát (rondán) megoldottam, már mindegy:)

_________________________________________
    ha egyetért velem, itt írja alá!    

Nálam operában se túl változatos a dolog, jó lenne, ha látnám kb. hogy akarod, hogy kinézzen. Pl. egy screenshotot nem tudsz felrakni operából? (Így kód alapján nem tudom fejben lerenderelni...)

Ja safari szerint 10 error van az oldalon javascript által.

külön köszönet a safaris feedbackért, az aranyat ér:)
első körben csak annyit akarok megoldani, hogy azonos méretű képek cserélgessék egymást egy divben. később majd áttűnés is lesz, de most még ott járok, hogy mindig végtelenciklusba torkollik, amikor végignézi, mely képek töltődtek már be.

azóta rájöttem arra is, hogy javascriptben a képeknek nincs class propertyjük. ami kár. de name-jük legalább van, ami nem rossz viszont

_________________________________________
    ha egyetért velem, itt írja alá!    

A wines safari betával próbáltam... :)

Így elsőre én úgy csinálnám, hogy lenne 1 db img tagom és abba töltögetném be a képeket egymás után. Persze így megmarad az a kérdés, hogy hogy tölteném be a képeket úgy, hogy csak akkor indulna a slideshow, ha minden kép betöltődött. Talán a new.Image-nek néznék utána.

Egyébként ki lehet választani azonos osztályú elemeket js-sel, valami getElementsByClass vagy hasonló.

igen, valami getElementsByClassName vagy hasonlóval próbáltam - sikertelenül.
ezért most végigszalad az img -ken, és name alapján szűr (getelementsbyname felejtős, explorer nem ismeri)

amit most próbálok:
1. kigyűjti azon képeket, ahol name=slidekep
2. végignézi őket, hogy betöltődtek-e. ha egy kép betöltődött, berakja egy másik tömbbe. ezt teszi addig, míg ugyanannyi elem nem lesz a két tömbben. jelenleg itt szöszmötölök.
3. ha már legalább két kép betöltődött, indul a show... majd egyszer. ez egyelőre a slideshowdivben lévő két kép felváltva felülre helyezését jelenti majd - aztán majd próbálkozok effektekkel is, de most még nem ilyen problémáim vannak:D

_________________________________________
    ha egyetért velem, itt írja alá!    

csinaltam egy ilyesmit korabban, ha kell, akkor itt elerheto. eleg gany, mert nem ertek hozza, de peldanak talan jo. attunos galeria.

--
http://marvin.elte.hu/ - the astrophysics archive

köszönöm, ettől függetlenül úgy érzem, hogy ezt nekem kell megoldanom:D:D
én jobban szeretem htmlkódba rakni a képojjektumokat - fiatal gyerek vagyok még, htmlkódban olyan jó kézzelfogható....
najó, az igazat megvallva inkább arról van szó, hogy már megírtam úgy, és az én kódom bevallottan nem igényes annyira, hogy egy működő és gány megoldást lecseréljen ami talán szép, de 10 másodpercnél tovább tart az implementálása.

egyelőre ott járok, hogy lecsekkolja a képeket, hogy betöltődtek-é. ha már legalább kettő betöltött, akkor elindítja a diavetítést - ott járok most, a képeket még nem cserélgeti.

igaza volt fentebb a kollégának, a fő problémát az okozta, hogy a ciklus ami mindig újra és újra megnézi, hogy betöltöttek-e már a képek, annyira lefoglalta a firefoxot, hogy közben nem jutott erőforrása a tényleges képbetöltésre, ergó végtelenhosszú lett a szentem. ezt a végtelenciklust felírom a firefox fejlesztőinek a számlájára, merthát mégis micsoda dolog ez...:D:D

és mielőtt azt mondanád a saját kódodra, hogy gány, nézd meg az enyémet is;) jelenleg programozás terén magamat a "hályogkovács scriptkiddiek" közé sorolom.

_________________________________________
    ha egyetért velem, itt írja alá!    

settimeouttal csinálom:)
egész szépen haladok a dologgal, mondjuk ez is 100zal eszi még a procit...
ezen kívül másik érdekes a nomálisa, hogy akkor ha localhostról nézem, akkor normálisak az átmenetek... picit úgy néz ki a dolog, hogy megkezdi az átmenetet, de csak utána tudja kicserélni a képet...

http://numen.extra.hu/slideshow_javascript.html

annyi előnye van a dolognak, hogy most más csak optimalizálni kell - sokat

szerk: ahogy elnézem, helyben megnyitva nem eszi 100on... pedig amennyire emlékszem tökugyanaz a script.. ja és mindig le akarja tölteni újra... mintha nem is lenne ott az összes kép display:none -nal
szerk:szerk: ja igen,ez azért volt, mert kikapcsoltam a memory cache-et... felteszem kevesen kapcsolják azt ki, úgyhogy okés... bár változatlanul jobban eszi a procit feltöltve, mint offline...ja és egyre jobban eszi. csupa érdekes rejtély ez a javascript, és/vagy csak én vagyok hülye:D

ma még meglátom talán explorerben.. ott úccse fog menni, öröm lesz debuggolni... meg optimalizálok. legalábbis próbálok, mert ezek azért nagy szavak tőlem:D....

_________________________________________
    ha egyetért velem, itt írja alá!    

mint kiderült, feltehetőleg a fade effekt tehtett arról, hogy egyre inkább kihasználta a processzort, egy idő után 100%ig ("és ami még rosszabb" ez az effekten is meglátszódott...:D)
a fade effektet lecseréltem egy slideosra. így stabilabb a fogyasztása

_________________________________________
    ha egyetért velem, itt írja alá!