Pergunta

I have made a javascript code that load dinamically images in a directory (php) and then display them using a jquery galery plugin.

I was unable to run the galleryView after all the pictures were loaded by the client. The single way was to use a delay command.

I don´t have to tell the disadvantages of this method. Does anyone knows how to "correct" the script so that the gallery plugin is called after all the images are loaded?

<script type="text/javascript">
    $("document").ready(function() {
         $('#aa').load('get_fotos.php').delay(2000).queue(function() {
              $('#aa').galleryView({
                     panel_width: 800,
                     panel_height: 400,
                     show_filmstrip_nav: false,
                     enable_slideshow: false,
                     panel_animation: 'crossfade',
                     frame_opacity: 1,
                     show_infobar: false,
                     frame_width: 80,
                     frame_height: 40,
                     // frame_scale: 'fit',
                });
        });
    });
</script>

Thanks a lot

Foi útil?

Solução

You can check this out by this:

It worked for me hope it helps.

imageArray = new Array();

imageArray[0] = 'image1.jpg'; // your image path
imageArray[1] = 'image2.jpg'; // your image path
htmldata='';
count = 0;
imgArray = new Array();

$.each(imageArray, function(i,item){
    var image=new Image();
    $(image).bind("load", {}, function(event) {
        count++;
        imageArray[i] =  $(image).attr("src");
        if(count==2){
            $("#imageHolder").empty();
            $.each(imageArray, function(j,item){
                htmldata = '<img id="image'+j+'" src="' + imageArray[j] +'" />';    //create ur image tag u need to call
                $("#imageHolder").append(htmldata);
            });

            $('#aa').galleryView({//call your bind method for plug in
            });
        }
    });
    image.src = imageArray[i];
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top