Autor | Zpráva | ||
---|---|---|---|
gardener Profil |
#1 · Zasláno: 22. 4. 2011, 11:54:53
Zdravim,
po udalosti pageshow se snazim pridat do divu odpovidajici obrazek. Vse je O.K ale jen po prvnim spusteni. Pokud se navratim treba na index a provedu znovu zobrazeni obrazku, uz se mi zadny nezobrazi. Zkousel jsem refresh, vyprazdneni atributu src, zkousel jsem i data-ajax="false" Netusi nekdo prosim, v cem by mohl byt problem? Diky za kazdou radu. $("#game").live("pageshow", function(event, ui){ //Create random number for playing random record /* var randomNumberOfRecord = Math.floor(Math.random()*3) playAudio('/android_asset/www/sounds/woman'+randomNumberOfRecord+'.mp3'); */ //$.mobile.changePage("#naviagate", "slideup"); var getParams = getUrlVars() var image = getParams['image']; var arrImg = image.split('_'); //alert(image); $('#image').attr('src', ''); $('#image').attr('src', 'app_images/' + arrImg[0] + '/' + image + '.jpg'); stopAudio(); }); |
||
_es Profil |
#2 · Zasláno: 22. 4. 2011, 15:48:22 · Upravil/a: _es
gardener:
A ako vyzerá funkcia getUrlVars ?
Na čo jQuery? Prečo nie normálne elementObrázka.src = adresaObrázka; ?
|
||
gardener Profil |
#3 · Zasláno: 22. 4. 2011, 16:21:12
1)getUrlVars vraci pole parametru z URL
2)Protoze se jedna o mobilni aplikaci v kombinaci s jquerymobile 3)To jsem take zkousel, viz: var floatimg = document.getElementById("image"); floatimg.setAttribute("src", 'app_images/' + arrImg[0] + '/' + image + '.jpg'); Csimnul jsem si ale toho, ze pokud provadim prvni zobrazeni je promenna image naplnena hodnotou, kdezto podruhe jiz asi ne, jelikoz se mi alert nezobrazi. //GET VARIABLES FROM URL function getUrlVars(){ var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for (var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } //alert(vars); return vars; } |
||
_es Profil |
#4 · Zasláno: 22. 4. 2011, 16:38:50 · Upravil/a: _es
gardener:
„var floatimg = document.getElementById("image");“ A máš tam značku <img> s atribútom id rovným textovému reťazcu "image" , teda <img id="image"> ?
Prečo nedávaš celý problematický kód? „floatimg.setAttribute(“ Prečo metóda setAtribute ?
Prečo nie bezproblémové použitie vlastnosti src ? Viď aj tu.
„2)Protoze se jedna o mobilni aplikaci v kombinaci s jquerymobile“ To je čo za divný argument? Nefunguje tam snáď metóda document.getElementById , alebo prečo?
Zrejme bude chyba, ako to tu už často býva, v niečom inom, ako v prezentovanom kóde. |
||
gardener Profil |
#5 · Zasláno: 22. 4. 2011, 16:51:10
_es:
„var floatimg = document.getElementById("image");“ Ano, viz: <div id="image_canvas" style="height:100%;"><img src="" id="image" width="100%" title="Jmeno divky"/> </div> „floatimg.setAttribute(“ Protoze to je jedno, jsem zvykly na Jquery, a kdyz tuto moznost umoznuje, proc ji nepouzit. Ano, chyba bude dost mozna jinde ale ani za boha netusim kde, jelikoz na poprve vse probehne dobre, az na druhou a dalsi iteraci se promenna image nanaplni. A to je mi zahadou. Ten odkaz kde predavam parametry vypada takto: <li> <img src="app_images/m/girl_1_jeana_dark.jpg" width="80px"/> <h3><a href="game.html?girlName=JEANA DARK&girlId=1&image=girl_1_jeana_dark" >JEANA DARK</a></h3> </li> <li> <img src="app_images/m/girl_2_erica_campbell.jpg" width="80px"/> <h3><a href="game.html?girlName=ERICA CAMPBELL&girlId=2&image=mature_2_erica_campbell">ERICA CAMPBELL</a></h3> </li> A tady jsem zousel pouzit data-ajax="false" ale s tim samym vysledkem |
||
_es Profil |
#6 · Zasláno: 22. 4. 2011, 17:26:15
gardener:
Skús spraviť živú ukážku, toto dolovanie informácií začína byť únavné. Návštevník s nefunkčným JS asi bude mať smolu a obrázky si nepozrie. |
||
Chamurappi Profil |
#7 · Zasláno: 23. 4. 2011, 00:40:29
Reaguji na _es:
„Návštevník s nefunkčným JS asi bude mať smolu a obrázky si nepozrie.“ To je základní politika jQuery Mobile. Před týdnem jsem absolvoval přednášku o mobilních JS frameworcích a vyplynulo z ní docela jasně, že jQuery Mobile vnucuje ne-iPhonům uživatelské rozhraní iPhonů a iPhonům emuluje pomalejší verzi uživatelského rozhraní iPhonů a přestože to je celé takové nic moc a špatně zdokumentované (zatím) nestabilní API, je to všechno správně, protože to vyrábí tým lidí okolo jQuery. Prostě to odvede všechnu špatnou práci za programátora a on pak ani nemusí psát skripty, jen rozsévá data- atributy :-)
Reaguji na gardenera: „Protoze to je jedno, jsem zvykly na Jquery, a kdyz tuto moznost umoznuje, proc ji nepouzit.“ Protože nemusí fungovat. Zejména v té mobilní džungli bych si nebyl jistý ničím. V jQuery je v attr několik záplat, které ošetřují problémy se setAttribute u desktopových prohlížečů.
|
||
Časová prodleva: 13 let
|
0