Autor Zpráva
gardener
Profil
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" 
ale nic zatim nepomohlo.

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
gardener:
A ako vyzerá funkcia getUrlVars?
Na čo jQuery?
Prečo nie normálne elementObrázka.src = adresaObrázka;?
gardener
Profil
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
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
_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
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
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čů.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: