when I instantiate an object ( simplegallery ) in a normal function like this:
function setGallery(imgs){ var galleryArray = new Array(); for(var i=0; i<imgs.length; i++){ galleryArray.push([imgs[i].imgpath + imgs[i].imghash + imgs[i].thumb + '.' + imgs[i].ext, "", "", ""]); } var mygallery=new simpleGallery({ navpanelheight: 40, wrapperid: "fbImg", //ID of main gallery container, dimensions: [80, 60], //width/height of gallery in pixels. Should reflect dimensions of the images exactly imagearray: galleryArray, autoplay: [false, 2500, 2], //[auto_play_boolean, delay_btw_slide_millisec, cycles_before_stopping_int] persist: false, //remember last viewed slide and recall within same session? fadeduration: 500, //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 DIV (ie: try alert(curslide.innerHTML) //i: integer reflecting current image within collection being shown (0=1st image, 1=2nd etc) } }); }
From my understanding, the created object "mygallery" is an instance of "simpleGallery". Since the "mygallery" object is declared in the setGallery function, it is a local object that will be lost after the function completes. But simpleGallery binds events that interact with settings that are simpleGallery properties ... how are these properties still alive when these events fire?
However, how long does this specimen live and why?
- Qestion: How can I access the property of this instance from a function other than setGallery? For example, when I want to get the value mygallery.setting.imagearray.length ...
Thank you for helping me understand! :-)
source share