NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s podporou uplatnění od 0 Kč. Více informací.

Diskuze: nacitani obrazků z adresare

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
saša harvan
Člen
Avatar
saša harvan:10.6.2016 7:24

ahoj ,mam problem ,mozna uz ho nekde tady nekdo resil ale ja ho nenasel, trochu jsem upravil MVC do tu udelal david(timto mu dekuji) a pridal i obrazky...mam toto

<h1>Seznam článků</h1>
<table >

<?php foreach ($clanky as $clanek) : ?>
        <tr>
                <td>
                        <h2><a href="clanek/<?= $clanek['url'] ?>"><?= $clanek['titulek'] ?></a></h2>
                        <?= $clanek['popisek'] ?>
                        <?php if ($admin) : ?>
                                <br />
                                <a href="editor/<?= $clanek['url'] ?>">Editovat</a>
                                <a href="clanek/<?= $clanek['url'] ?>/odstranit">Odstranit</a>
                        <?php endif ?>
                </td>
    <td>  <?=  $slozka = opendir("obrazky/".$clanek['url']."/"); //otevření složky  ..Interval
         while ($obrazek = readdir($slozka)) :
         if( $obrazek != "." && $obrazek != ".." && strpos($obrazek, '_nahled.'))  :
         $obrazky [] = "obrazky/".$clanek['url']."/".$obrazek;
          ?>
           <?php endif ?>

    <?php endwhile ?>
 <script language="JavaScript" type="text/javascript">
obr = -1;
cas = 1000;
function animation(){

<?php
echo ( "var obrazky = [ \"" . implode( '","' , $obrazky ) . "\" ];" );

?>

if (obr+1==obrazky.length) obr=0;
else obr++;
obrazek.src = obrazky[obr];
window.setTimeout('animation()', cas);
}
</script>




    <img onLoad="animation()" src="<?= $obrazky[0] ?>" name="obrazek" >



    </td>
        </tr>

<?php endforeach ?>
</table>

1.clanek se nacte a k tomu i spravne obrazky, nacte se i druhy clanek,ale obrazky zde jsou z prvniho clanku...proc­...nenacte skript obrazky k druhemu clanku a zustaveji tam obrazky z prvniho?(obrazky k druhemu v dresari jsou) neco mam asi blbe ale nevim co ...predem diky za rady

 
Odpovědět
10.6.2016 7:24
Avatar
solta
Člen
Avatar
Odpovídá na saša harvan
solta:10.6.2016 16:07

Nejspíš proto že načítáš obrázky do jedné proměnné $obrazky a nikde ji neresetuješ pokud ji ale vyresetuješ nebude ti fungovat ten javascript budeš asi muset vymyslet lepší řešení

 
Nahoru Odpovědět
10.6.2016 16:07
Avatar
saša harvan
Člen
Avatar
Odpovídá na solta
saša harvan:10.6.2016 19:51

tak jsem tam pridal toto...uz to nacita co ma

<?php unset($obrazky); ?>

ale,,, ted ten javascript...asi by to chtelo jinej..moc si to nerozumi....obrazky se nehybou :)..kdyby mel nekdo jinej script na motani obrazku budu rad...jinak diky

 
Nahoru Odpovědět
10.6.2016 19:51
Avatar
solta
Člen
Avatar
Odpovídá na saša harvan
solta:10.6.2016 20:59

na webu je spousta "rotatoru" si nějakej stáhni to je nejjednodušší cesta
třeba toto http://www.simonbattersby.com/…e-crossfade/ ale budeš si to muset poupravit protože to umí pracovat jen s jednou sadou obrázků

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
10.6.2016 20:59
Avatar
saša harvan
Člen
Avatar
Odpovídá na solta
saša harvan:11.6.2016 16:52

tak jsem to trochu predelal,ten script nejede
asi tam mam neco blbe .....

<h1>Seznam článků</h1>
<table >

<?php foreach ($clanky as $clanek) : ?>
        <tr>
                <td>
                        <h2><a href="clanek/<?= $clanek['url'] ?>"><?= $clanek['titulek'] ?></a></h2>
                        <?= $clanek['popisek'] ?>
                        <?php if ($admin) : ?>
                                <br />
                                <a href="editor/<?= $clanek['url'] ?>">Editovat</a>
                                <a href="clanek/<?= $clanek['url'] ?>/odstranit">Odstranit</a>
                        <?php endif ?>
                </td>
    <td width="294" height="200">  <?=  $slozka = opendir("obrazky/".$clanek['url']."/"); //otevření složky  ..Interval
         while ($obrazek = readdir($slozka)) :
         if( $obrazek != "." && $obrazek != ".." && strpos($obrazek, '_nahled.'))  :
         $obrazky [] = "obrazky/".$clanek['url']."/".$obrazek;
           ?>
           <?php endif ?>

    <?php endwhile ?>
 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript">


 function cycleImages(){
      var $active = $('#cycler .active');
      var $next = ($active.next().length > 0) ? $active.next() : $('#cycler img:first');
      $next.css('z-index',2);//move the next image up the pile
      $active.fadeOut(1500,function(){//fade out the top image
          $active.css('z-index',1).show().removeClass('active');//reset the z-index and unhide the image
          $next.css('z-index',3).addClass('active');//make the next image the top one
      });
    }

$(document).ready(function(){
// run every 7s
setInterval('cycleImages()', 7000);
})

</script>



    <div id="cycler">
<img class="active" src="<?= $obrazky[0] ?>" alt="My image" />
<img src="<?= $obrazky[1] ?>" alt="My image" />
<img src="<?= $obrazky[2] ?>" alt="My image" />
<img src="<?= $obrazky[3] ?>" alt="My image" />
<img src="<?= $obrazky[4] ?>" alt="My image" />
<img src="<?= $obrazky[5] ?>" alt="My image" />
</div>


      <?php unset($obrazky); ?>

    </td>
        </tr>

<?php endforeach ?>
</table>

css je tady

#cycler{position:relative;}
#cycler img{position:absolute;z-index:1}
#cycler img.active{z-index:3}
 
Nahoru Odpovědět
11.6.2016 16:52
Avatar
saša harvan
Člen
Avatar
Odpovídá na saša harvan
saša harvan:12.6.2016 8:53

tak uz to vali...mel jsem tam spatne odkaz na jquery :)..no co uz..diky

 
Nahoru Odpovědět
12.6.2016 8:53
Avatar
saša harvan
Člen
Avatar
saša harvan:12.6.2016 9:39

no tak jsem se radoval predcasne....udela to jeden beh(oba clanky) ...ale druhy beh uz dela jen prvni clanek(jeho obrazky)...u toho druheho se to nejak zakucka a skonci to ,,,jsem zase v ...... :)

 
Nahoru Odpovědět
12.6.2016 9:39
Avatar
saša harvan
Člen
Avatar
saša harvan:12.6.2016 10:35

musim to asi udelat aby si script ocisloval to <div id="cycler"> a on to pak bude poustet jako rozdilny id ..a to by mohlo pomoct ,,,,, nebo je to blbost ,,co?

 
Nahoru Odpovědět
12.6.2016 10:35
Avatar
saša harvan
Člen
Avatar
saša harvan:12.6.2016 11:31

tak jsem tam pridal pocitadlo na id cycler
ale nevim jak ho pridat do toho javascriptu(vubec ho neznam) a jestli to vubec je dobra cesta

<?= $koncovka++ ;
   $idgalerie ="cycler".$koncovka;
   ?>

    <div id=<?=$idgalerie?>" class="cycler">
<img class="active" src="<?= $obrazky[0] ?>" alt="My image"   />
<img src="<?= $obrazky[1] ?>" alt="My image"  />
<img src="<?= $obrazky[2] ?>" alt="My image"  />
<img src="<?= $obrazky[3] ?>" alt="My image"  />
<img src="<?= $obrazky[4] ?>" alt="My image"  />
<img src="<?= $obrazky[5] ?>" alt="My image"  />
</div>
 <script type="text/javascript">

 function cycleImages(){

      var $active = $('#cycler .active'); //misto cycler dat $idgalerie asi????
      var $next = ($active.next().length > 0) ? $active.next() : $('#cycler img:first');
      $next.css('z-index',2);//move the next image up the pile
      $active.fadeOut(1500,function(){//fade out the top image
          $active.css('z-index',1).show().removeClass('active');//reset the z-index and unhide the image
          $next.css('z-index',3).addClass('active');//make the next image the top one
      });
    }

$(document).ready(function(){
// run every 5s
setInterval('cycleImages()', 5000);
})

</script>
Editováno 12.6.2016 11:31
 
Nahoru Odpovědět
12.6.2016 11:31
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.