Pereiti prie turinio

Reikia pagalbos su javascript (set image source from variable)


Rekomenduojami pranešimai

Sveiki,

 

reikia pagalbos. Darau tokį projektėlį prireikė sukodint skriptuką (prisegiau failus).

 

Pabandysiu paaiškint, ką noriu padaryt.

 

Šiame html yra keturi divai (tie buttons tik debuginimui ar nuskaito reikšmes tinkamai).

 

Pirmuose dviejuose divuose yra paveikslėliai (1,2). Aš noriu, kad paspaudus ant vieno iš jų, ir po to paspaudus ant vieno iš žemiau esančių langų, atsirastų tas paveikslėlis ten.

 

Paspaudus (onclick) ant vieno iš pirmų dviejų, įrašomas kintamasis imageURL, kuris yra paveikslėlio src, pvz. 1.png

 

Tada paspaudus (onmousedown) ant vieno iš apatinių, įrašomas imageName, kuris yra konkretaus <img> id.

 

Taigi viską turim ko reikia, id ir src.

 

Tada atleidus (onmouseup) vykdoma funkcija changeImage()

 

Problema tame, kad neveikia, ir prašau pagalbos, ką netaip rašau. :)

 

 


<HTML>
<HEAD>
<TITLE></TITLE>

<script>
imageURL="0.png";
imageName="undefined";

function displaymessage(){alert(imageURL);}

function displaymessage2(){alert(imageName);}


function changeImage(imageName,imageURL) {

	document[imageName].src = imageURL;

}

</SCRIPT>


</HEAD>

<BODY>

<form><input type="button" value="imageURL" onclick="displaymessage()" /></form>

<form><input type="button" value="imageName" onclick="displaymessage2()" /></form>





<div id=selection0 style="position:absolute; top:100; left:50; width:50; height:50; z-index:1; padding:0px; border: #000000 1px solid;">
<a href="#" onclick="imageURL='1.png';">
<img src="1.png" border="0"></img></a>
</div>


<div id=selection1 style="position:absolute; top:100; left:100; width:50; height:50; z-index:1; padding:0px; border: #000000 1px solid;">
<a href="#" onclick="imageURL='2.png';">
<img src="2.png" border="0"></img></a>
</div>





<div id=a1 style="position:absolute; top:175; left:50; width:50; height:50; z-index:1; padding:0px; border: #000000 1px solid;">
<a href="#" onmousedown="imageName='a1'" onmouseup="changeImage()">
<img name="a1" src="0.png" border="0"></img></a>
</div>


<div id=a2 style="position:absolute; top:175; left:100; width:50; height:50; z-index:1; padding:0px; border: #000000 1px solid;">
<a href="#" onmousedown="imageName='a2'" onmouseup="changeImage()">
<img name="a2" src="0.png" border="0"></img></a>
</div>


</BODY>
</HTML>


post-7432-005672100 1300042394_thumb.png

test_image_source_from_variable.zip

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nežinau, ar neveikia dėl to, šiaip pastebėjimai:


imageURL="0.png";
imageName="undefined";

Trūksta var. Kam tas „undefined“, jei galima dėt null?

 

 

function changeImage(imageName,imageURL) {

               document[imageName].src = imageURL;

}

 

Jei rašai kintamuosius funkcijoj tarp skliaustų, tai ji tikisi būt iškviesta su tais kintamaisiais, o ne tai, kad ims automatiškai globalius (manau?). Kas tas document[imageName] - išvis nežinia.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nežinau, ar neveikia dėl to, šiaip pastebėjimai:


imageURL="0.png";
imageName="undefined";

Trūksta var. Kam tas „undefined“, jei galima dėt null?

 

 

na koks skirtumas, kas čia parašyta, neturi juk tai reikšmės manau. Dėl var, veikia ir be jų (nuskaito).

 

 

function changeImage(imageName,imageURL) {

               document[imageName].src = imageURL;

}

 

Jei rašai kintamuosius funkcijoj tarp skliaustų, tai ji tikisi būt iškviesta su tais kintamaisiais, o ne tai, kad ims automatiškai globalius (manau?). Kas tas document[imageName] - išvis nežinia.

 

čia trūko taško :) document.[imageName].src

 

Išbandžiau ir su kinatamaisiais f-joj, nieko nevyksta. : ( Atrodo taip paprasta, paimt iš vieno ir kitam uždėt. : /

 

Gal koks kitas būdas įmanomas, pvz. kaip nors visai kitu principu pasiekt tą patį?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

susitvarkiau pagaliau :) buvo paprasčiau nei galvojau. :)

 

<HTML>
<HEAD><TITLE></TITLE>

<script type="text/javascript">

imgURL;
imgName;

function mouseUp()
{
document.getElementById(imgName).src =imgURL;
}
</script>

</HEAD>
<BODY>

<div id=selection0 style="position:absolute; top:100; left:50; width:50; height:50; z-index:1; padding:0px; border: #000000 1px solid;">
<a href="#">
<img src="1.png" border="0" onclick="imgURL='1.png'"/></a>
</div>

<div id=selection1 style="position:absolute; top:100; left:100; width:50; height:50; z-index:1; padding:0px; border: #000000 1px solid;">
<a href="#">
<img src="2.png" border="0" onclick="imgURL='2.png'"/></a>
</div>

<div id=da1 style="position:absolute; top:175; left:50; width:50; height:50; z-index:1; padding:0px; border: #000000 1px solid;">
<a href="#">
<img id=a1 src="0.png" border="0" onmousedown="imgName='a1'" onmouseup="mouseUp()"/></a>
</div>

<div id=da2 style="position:absolute; top:175; left:100; width:50; height:50; z-index:1; padding:0px; border: #000000 1px solid;">
<a href="#">
<img id=a2 src="0.png" border="0" onmousedown="imgName='a2'" onmouseup="mouseUp()" /></a>
</div>

</BODY>
</HTML>

Redagavo gedas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...