Obteniendo imágenes de la carpeta con para jQuery slideshow

Mi script de diapositivas Jquery se ve así

$(function() { $('#bg').crossSlide({ sleep: 3, shuffle: true, fade: 1 }, [ { src: 'core/design/images/bgs/1.jpg'}, { src: 'core/design/images/bgs/2.jpg'}, { src: 'core/design/images/bgs/3.jpg'}, { src: 'core/design/images/bgs/4.jpg'} ]) }); 

Como veis, declaré los caminos de las imágenes uno por uno. ¿Hay alguna forma de escanear la carpeta en busca de imágenes y agregarlas todas a la vez? Tal vez, se puede hacer con PHP?

No se puede hacer con Javascript. Pero con un código del lado del servidor incorporado debería ser posible (como PHP). Aquí hay un ejemplo en php.

Existe una función llamada glob , que puede ser adecuada para su propósito. Aquí hay un ejemplo de cómo usarlo.

 $path =  $images = glob($path.'/*.jpg') // this returns an array of file names only doesnt contain the path 

Ahora tienes la lista de arrays en php. Tienes que empezar a usar esto en javascript.

 $(function() { $('#bg').crossSlide({ sleep: 3, shuffle: true, fade: 1 }, [  { src: 'core/design/images/bgs/'},  ]) }); 

Sí. Se puede hacer usando JS / jQuery:

Funciona localmente y en el servidor en vivo sin problemas, y le permite extender la lista delimitada de extensiones de archivo permitidas:

 var folder = "core/design/images/bgs/"; $.ajax({ url : folder, success: function (data) { $(data).find("a").attr("href", function (i, val) { if( val.match(/\.jpg|\.png|\.gif/) ) { $("body").append( "" ); } }); } }); 

en su caso, desea construir una matriz de Objetos {src:"path"} para que se vea como:

 var folder = "core/design/images/bgs/"; $.ajax({ url : folder, success: function (data) { var srcArr = []; $(data).find("a").attr("href", function (i, val) { if( val.match(/\.jpg|\.png|\.gif/) ) { var ob = {src : folder+val}; srcArr.push( ob ); } }); // Now that the Array is filled with Objects send to callback readFolderCallback( srcArr ); } }); function readFolderCallback( srcArr ) { $('#bg').crossSlide({ sleep: 3, shuffle: true, fade: 1 }, arrSrc); } 

https://stackoverflow.com/a/32940532/383904

Intereting Posts