Autor Zpráva
Kryštof
Profil *
Dobrý de,

mám prosím dotaz.

Mám funkci

<?php include "srcfile.php"; $index = rand(0, count($srcArr) - 1);

print '
	 <div class="w800 h340 fl-left">';
	 switch($index) {
    case 1 : $obrazek = "slideshow1.jpg"; break;
    case 2 : $obrazek = "slideshow2.jpg"; break;
    case 3 : $obrazek = "slideshow3.jpg"; break;
    case 4 : $obrazek = "slideshow4.jpg"; break;
    default : $obrazek = "empty.jpg"; break;
      }
	echo '<a href="'.$srcArr[$index][link].'"><img src="'.$srcArr[$index][img].'" alt="'.$srcArr[$index][alt].'" title="'.$srcArr[$index][title].'"></a>


A nedá se říci, že funguje zrovna dobře. Prohlížeče si občas nacashují pouze jeden obrázek a ten pak ukazují. Je něco s tímto kódem špatně? Lze zařídit, aby se obrázky střídali s nějakým efektem javascriptu? jQuery používat z nějakých důvodů nesmím.. :(

Předem děkuji

Moderátor nightfish: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
quiet_user
Profil
zkusil bych spíše něco takovéhoto:

<?php
include 'slideshow.php';

for ( $i=0; $i<5; $i++){
    $slideshow[ 'slide' ][ $i ] = array ( 'url'=>"images/jude$i.jpg", 'background'=>"000000" );
    $slideshow[ 'transition' ][ $i ] = array ( 'type'=>"push_left" );
    $slideshow[ 'motion' ][ $i ] = array ( 'duration'=>2, 'start_xOffset'=>-200 );
}

$slideshow[ 'draw_text' ][ 0 ] = array ( array ( 'x'         =>  15, 
                                                 'align'     =>  "left", 
                                                 'text'      =>  "April 2004",  
                                                 'bold'      =>  true, 
                                                 'size'      =>  30, 
                                                 'color'     =>  "ffffff", 
                                                 'alpha'     =>  75
                                             )
                                     );

Send_Slideshow_Data ( $slideshow );
?>
Keeehi
Profil
Proč máš rand od nuly, když switch máš od 1?
Skoro bych řekl, že v tom echu nemáš správně zapsaná ty pole. Ty tvoje konstanty (link, img, alt) by měly být řetězce ("link", "img", "alt"). Nebo to zapsat třeba takto
echo "<a href=\"$srcArr[$index][link]\"><img src=\"$srcArr[$index][img]\" alt=\"$srcArr[$index][alt]\" title=\"$srcArr[$index][title]\"></a>";

quiet_user:
Hodil by se i obsah souboru slideshow.php ;-)
Kryštof
Profil *
Prominte, mohl bych poprosit o podrobnejsi navod? Co ma byt ve slideshow.php a co prosim znamena $i v nazvu obrazku? Prosim pomoc ..
Kryštof
Profil *
Jde o tuto stranku .. http://www.602.cz/
Keeehi
Profil
Kryštof:
Jde vám o náhodný obrázek, nebo o to, aby se po nějaké době změnil? (např. po 5 sekundách se objeví jiný) Toho druhého docílíte javascriptem.
Kryštof
Profil *
Jde mi o to, aby se po 4 sekundách změnil pomocí nějakého efektu (např. cycle) do obrázku druhého a abych na něj mohl kliknout a dostat se na nějakou URL ... Ale musim to udělat jinak než s pomocí jquery :(
__construct
Profil
Zlá sekcia - toto je záležitosť Javascriptu.
Osobne by som spravil asi toto:
$obrazky = json_encode(array(
    array('src'=>'obrazek1.jpg','alt'=>'Alt popisek','href'=>'url/adresa.html','title'=>'Lorem ipsum'),
    array('src'=>'obrazek2.jpg','alt'=>'Alt popisek','href'=>'ina/url/adresa.html','title'=>'Dolor sit amet'),
    …
));
echo "<script>var obrazky = $obrazky</script>";
A potom ten JS Objekt by som nejakým JS skriptom menil …
<mimo-téma>
Prečo si taká veľká firma ako Software602 nenechá spraviť stránky u niekoho kto tomu rozumie ?
</mimo-téma>
Kryštof
Profil *
Ten kdo tomu rozumie ma dovolenou a ten kdo tomu rozumie napul se tu snazi zazadat o pomoc :)
Medvídek
Profil
Kryštof:
Nebo použít nějaké řešení přes jQuery

EDIT: Nevšiml sem si zákazu jQuery.
__construct
Profil
Medvídek:
Nemôže - sám neviem prečo keď už ho na stránkách používa …
Kryštof
Profil *
Prosim vás pěkně ...

Pro provoz této stránky se používá drupal. Vinou špatného zásahu jednoho administrátory došlo ke smíchání skriptů a znepřijemňuje to přidání dalších js. Brzy dojde k opravě ale do té doby to musim nějak vyřešit, tak jsem myslel jestli by mi tady někdo neporadil. :(
breeta
Profil *
pokud nemůžeš použít js tak ti pomůže jenom refres pomocí PHP což je dost brutální ...

header("Refresh: 2")


nebo udělej animaci ve flash ....
Kryštof
Profil *
Tak to asi pořešim v tom Flashi ... tak děkuju všem ..
quiet_user
Profil
http://www.webdesign.org/web-programming/php/image-slideshow.12068.html

zkusit můžeš ještě toto, pokud jde však o galerii, kde se budou promítat ty samé obrázky a nemůžeš využít jQuery (js), tak to udělej jako měnící banner (gif) nebo ve flashi, rozhodně to bude menší čuňárna a budeš s tím mít o 80% míň práce

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0