在PHP中将图像动态添加到JQuery滑块

在PHP中将图像动态添加到JQuery滑块

问题描述:

I've got a problem using JavaScript Array. There is an Image gallery. I wanna dynamically load images to this gallery.
Here is the javaScript function to that gallary.

var LoadGallary=function(key){

        var mygallery=new simpleGallery({
        wrapperid: "imgGal", //ID of main gallery container,
        dimensions: [getWidth(), 250], //width/height of gallery in pixels. Should reflect dimensions of the images exactly
        imagearray:  [
        ["Images/Home/slider/1.jpg", "#", "", "Image 1"],
        ["Images/Home/slider/2.jpg", "#", "", "Image 2"],
        ["Images/Home/slider/3.jpg", "#", "", "Image 3"],
        ["Images/Home/slider/4.jpg", "#", "", "Image 4"],
        ["Images/Home/slider/5.jpg", "#", "", "Image 5"],
        ["Images/Home/slider/6.jpg", "#", "", "Image 6"]
        ],
        autoplay: [true, 2500, 1000], //[auto_play_boolean, delay_btw_slide_millisec, cycles_before_stopping_int]
        persist: false, //remember last viewed slide and recall within same session?
        fadeduration: 1500, //transition duration (milliseconds)
        oninit:function(){ //event that fires when gallery has initialized/ ready to run
            //Keyword "this": references current gallery instance (ie: try this.navigate("play/pause"))
        },
        onslide:function(curslide, i){ //event that fires after each slide is shown
            //Keyword "this": references current gallery instance
            //curslide: returns DOM reference to current slide's DIV (ie: try alert(curslide.innerHTML)
            //i: integer reflecting current image within collection being shown (0=1st image, 1=2nd etc)
        }
    })
    }

"key" is the gallery ID. I've tried to fill this array using PUSH method like below.

        var LoadGallary=function(key){

        var arr = new Array();
        arr.push(["Images/Home/slider/1.jpg", "#", "", "Image 1"]);
        arr.push(["Images/Home/slider/2.jpg", "#", "", "Image 2"]);
        arr.push(["Images/Home/slider/3.jpg", "#", "", "Image 3"]);
        arr.push(["Images/Home/slider/4.jpg", "#", "", "Image 4"]);
        arr.push(["Images/Home/slider/5.jpg", "#", "", "Image 5"]);
        arr.push(["Images/Home/slider/6.jpg", "#", "", "Image 6"]);

        var mygallery=new simpleGallery({
        wrapperid: "imgGal", //ID of main gallery container,
        dimensions: [getWidth(), 250], //width/height of gallery in pixels. Should reflect dimensions of the images exactly
        imagearray:  [
            arr
        ],
        autoplay: [true, 2500, 1000], //[auto_play_boolean, delay_btw_slide_millisec, cycles_before_stopping_int]
        persist: false, //remember last viewed slide and recall within same session?
        fadeduration: 1500, //transition duration (milliseconds)
        oninit:function(){ //event that fires when gallery has initialized/ ready to run
            //Keyword "this": references current gallery instance (ie: try this.navigate("play/pause"))
        },
        onslide:function(curslide, i){ //event that fires after each slide is shown
            //Keyword "this": references current gallery instance
            //curslide: returns DOM reference to current slide's DIV (ie: try alert(curslide.innerHTML)
            //i: integer reflecting current image within collection being shown (0=1st image, 1=2nd etc)
        }
    })
    }

But it doesn't work.

While you initialize you simpleGallery plugin try using as shown below:

......
.......
imagearray:arr,//removed the enclosing square brackets
.....
.....

so your new code would look like:

var LoadGallary=function(key){

    var arr = new Array();
    arr.push(["Images/Home/slider/1.jpg", "#", "", "Image 1"]);
    arr.push(["Images/Home/slider/2.jpg", "#", "", "Image 2"]);
    arr.push(["Images/Home/slider/3.jpg", "#", "", "Image 3"]);
    arr.push(["Images/Home/slider/4.jpg", "#", "", "Image 4"]);
    arr.push(["Images/Home/slider/5.jpg", "#", "", "Image 5"]);
    arr.push(["Images/Home/slider/6.jpg", "#", "", "Image 6"]);

    var mygallery=new simpleGallery({
    wrapperid: "imgGal", //ID of main gallery container,
    dimensions: [getWidth(), 250], //width/height of gallery in pixels. Should reflect dimensions of the images exactly
    imagearray:arr,//please note made a change here: removed square brackets
    autoplay: [true, 2500, 1000], //[auto_play_boolean, delay_btw_slide_millisec, cycles_before_stopping_int]
    persist: false, //remember last viewed slide and recall within same session?
    fadeduration: 1500, //transition duration (milliseconds)
    oninit:function(){ //event that fires when gallery has initialized/ ready to run
        //Keyword "this": references current gallery instance (ie: try this.navigate("play/pause"))
    },
    onslide:function(curslide, i){ //event that fires after each slide is shown
        //Keyword "this": references current gallery instance
        //curslide: returns DOM reference to current slide's DIV (ie: try alert(curslide.innerHTML)
        //i: integer reflecting current image within collection being shown (0=1st image, 1=2nd etc)
    }
})
}