Slideshow immagini automatica senza specificare il file immagine

Strelecaster

Nuovo Utente
6 Mag 2016
9
0
0
Salve, ho la necessità di creare una slide di immagini che caricherà automaticamente tutti i file immagine son estensione .jpg che si trovano in una determinata cartella, in modo da visualizzare le immagini che verranno caricate nella cartella, quindi senza inserire le immagini una per una.

Ho provato con i seguenti codici ma il risultato non è quello voluto, le immagini si incolonnano verticalmente e senza alcun effetto slide.
Qualche buon anima potrebbe aiutarmi, vista la mia scarsa conoscenza del php?

RICHIAMO JQUERY

<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>

INSERISCO IL CODICE NELLA PAGINA

<div id="fotoBox"><?php
foreach (glob("./assets/images/blog*.jpg") as $filename) {?>
<img src="/assets/images/blog/<?php echo basename($filename);?>" class="slide" alt="Slide" />
<?php
}
?>
</div>

INFINE CARICO IL SEGUENTE FILE DENTRO <HEAD>

<script>
$(document).ready(function(){
var numPitc=$(‘img.slide’).length;
var actPitch = 0
$(window).load(function () {
SlideShow(numPitc,actPitch);
});
});

function SlideShow(num,act){
if (num<=act) {act=0;$(‘img.slide’).slice(-1).fadeOut(‘slow’)}
$(‘img.slide’).slice(act-1,act).fadeOut(‘slow’)
$(‘img.slide’).slice(act,act+1).fadeIn(‘slow’)

act++;
setTimeout("SlideShow("+num+","+act+")",2000)
}
</script>
 

Rikk73

Utente Attivo
7 Apr 2015
133
6
18
Arezzo
credo ti manchi uno slash dentro il glob()

PHP:
foreach (glob("./assets/images/blog/*.jpg") as $filename) {?>


scusa ma ho letto solo il codice e ho dato per scontato che non visualizzava le img.....
come non detto
 
Ultima modifica:

Strelecaster

Nuovo Utente
6 Mag 2016
9
0
0
Ciao Rikk73, grazie per la risposta ma a dire il vero le immagini si visualizzano, solo che risultano tutte incolonnate, invece dovrebbero (in teoria) apparire una alla volta a mo' di slide
 

Rikk73

Utente Attivo
7 Apr 2015
133
6
18
Arezzo
Si infatti, l'ho notato tardi......
Comunque credo che sia più un problema di jquery piuttosto che php.
 

Rikk73

Utente Attivo
7 Apr 2015
133
6
18
Arezzo
Credo che sicuramente dovrai comunque impostare il div con overflow:hidden, e le immagini con position:absolute e width e height al 100%
 

Strelecaster

Nuovo Utente
6 Mag 2016
9
0
0
Si le classi CSS le definisco in un file esterno. A riguardo dello script credo che tu abbia ragione, ho provato ad eliminare la stringa che richiama jquery e non è cambiato nulla, quindi deduco che non stava funzionando. Ho anche provato a richiamare jquery da file così:

)) ?>
<?=$this->js_include(array(
'@/assets/scripts/js/jquery-1.4.2.min.js',
)) ?>

inserito tra i tag <head> all'interno dei tag <script> ma non va

Non so, mi consigli di postare in un altra sezione del forum piuttosto che PHP?
 

Rikk73

Utente Attivo
7 Apr 2015
133
6
18
Arezzo
Credo che il problema sia proprio nello script per la rotazione, che quindi la sezione adatta sia quella javascript..
In ogni caso prova a modificare il setimeout con le virgolette delle variabili tra parentesi

Codice:
setTimeout("SlideShow('"+num+"','"+act+"')",2000)