[ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Miniscript

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 21.09.2009 22:11 | Miniscript

Prosím vás ak môžte pozrite sa mi na toto!
Je to úplne jednoduchý skriptík.
Mám tu takú mini fotogalériu na kt. robím pokusy.
Je tam obrazovka so zväčšenou fotografiou a pod ňou mám tlačítka pre ktoré píšem funkciu P().
Po nájazde myšou nad šípku vľavo(ostatné ešte nefungujú) by sa mala fotka zmeniť pomocou x-1 v indexe fotky z poľa img(pole s fotkami).
Samozrejme mi to nefunguje a hlási mi chybu ,,img[...].src' is null or not an object,,
Neviem či to správne chápem, že funkcia nepozná pole img, ale neviem, ako jej ho predať.
Vďaka!
link:http://camo.tym.sk/
Kód:
<body style="background-color:#d5d6d5; text-align:center;"
      onload="document.getElementById('foto').src=img[2].src">

<script type="text/javascript">

   var img = [];
       img[0] = new Image();
       img[0].src = "ema43.png ";
         img[1] = new Image();
       img[1].src = "dlazba43.png ";
       img[2] = new Image();
       img[2].src = "ceresne243.png ";
       img[3] = new Image();
       img[3].src = "vandali43.png ";
       img[4] = new Image();
       img[4].src = "ceresne43.png ";
      

  function F(x)
     {document.getElementById('foto').src=x};

  function P(z)
      {
      var x=0;
      while (img[x].src == document.getElementById('foto').src)
      {  x++; }
      switch(z) {
          case 1 : document.getElementById('foto').src=img[x-1].src;
              document.getElementById('T1').style.visibility="visible";
          break;

          case 2 : document.getElementById('foto').src=img[x+1].src;
              document.getElementById('T4').style.visibility="visible";
          break;
           }
      }
                  
                  
                  
</script>

<div style="margin:100px auto;
            width:710px; height:562px;
            background-image:url('litebox.png');
       text-align:left">
   <img src=" " id="foto"
                style="width:600px; height:450px; margin:25px 20px 0px 87px ">

   <a href="" class="block" style="margin:17px 2px 0px 151px; width:70px; height:50px;"
         onmouseover="P(1)" ><img id="T1" src="T1.png" style="visibility:hidden"
                                                     onmouseout="this.style.visibility='hidden'"></a>
   <a href="" style="margin:0px 2px 0px 0px; background-color:red;width:54px; height:45px"></a>

   <a href="" style="margin:0px 2px 0px 0px; background-color:red;width:58px; height:45px"></a>

   <a href="" style="margin:0px 0px 0px; background-color:red;width:67px; height:45px"></a>


</div>

<div id="nahlad" style="margin-top:0px;
                        height:150px; width:100%;
                        overflow:auto;
                        background-color:#d5d6d5" >

<img src="emaM.png" alt="" onmouseover="F(img[0].src)">

<img src="dlazbaM.png" alt="" onmouseover="F(img[1].src)">

<img src="ceresne2M.png" alt="" onmouseover="F(img[2].src)">

<img src="vandaliM.png" alt="" onmouseover="F(img[3].src)">

<img src="ceresneM.png" alt="" onmouseover="F(img[4].src)">


</div>

</body>


Offline

Správca fóra
Správca fóra
Miniscript

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 21.09.2009 23:02 | Miniscript

Kód:
while (img[x].src != document.getElementById('foto').src)


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Miniscript

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127 | 127
Bydlisko: Lehota pod ...
Napísal autor témyOffline : 22.09.2009 19:03 | Miniscript

DÍKY MOC!!!
Ešte neviem, či to bude riešenie, ale bez tohoto, by som aj tak nikam nedošiel.
Dnes som nad tým hodiny rozmýšľal, ale došiel som len na to, že nesprávne predávam funkcii premennú img (pole). Podľa toho, čo som sa dočítal sa to vraj v JS nemôže robiť priamo, ale len cez argument. Fakt je, že vôbec nechápem, prečo funkcie nechápu premennú typu pole. Ak mi to niekto dokáže vysvetliť, tak to budem čítať s padnutou sánkou.
Ešte raz - dík moc!

PS: K čomu sú také avatary dobré?


_________________
Som fanúšikom Europa2point disco clubu. Už len kôli tomu menu, čo majú na webe...
Offline

Užívateľ
Užívateľ
Miniscript

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127 | 127
Bydlisko: Lehota pod ...
Napísal autor témyOffline : 22.09.2009 20:27 | Miniscript

No tak som zmenil == za != a script začal reagovať!
Ale miesto x-1 urobil x-2. Teda tak to ja vidím. A keď som mu to -1 vymazal, tak zase prestal reagovať.
Podopĺńal som tam ešte pár vecí, ale je to ,,na milú kedveš,,:loony: . Presnejšie je to opísané tu: http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=8&topic=100327&page=-1#8 :loony:


Offline

Správca fóra
Správca fóra
Miniscript

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 22.09.2009 20:41 | Miniscript

vies preco to robi? lebo tam mas onmouseover a vzdy, ked o kus posunies mysou nad danym objektom, tak sa ti vykona funkcia P => daj tam namiesto toho:
Kód:
onclick="P(1);return false;"

a druhy parameter funkcie P, co si tam pridal uplne zbytocne, odstran...


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Miniscript

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127 | 127
Bydlisko: Lehota pod ...
Napísal autor témyOffline : 22.09.2009 21:17 | Miniscript

Ten onclick, aj return fals som mal v pláne, ale nerátal som s tým, že mi bude robiť onmouseover problémy. Klobúk dole a dík za čas a námahu. Už som myslel,, ,že dohryziem ten monitor,,!

PS: Chodí veľa programátorov k psychiatrovi?
PS2: Čo som to teda čítal o tom predávaní premenných typu pole funkciám? Je možné, že to bol riadne starý článok, ale to už neviem.


 [ Príspevkov: 6 ] 


Miniscript




© 2005 - 2024 PCforum, edited by JanoF