I am not seeing where you are setting the galleryObj.currentSrc when the user clicks on next / prev. may be that is the problem.
On Dec 10, 4:04 pm, sad1sm0 <[EMAIL PROTECTED]> wrote: > I'm building my first plugin for jquery and I'm stuck on a really > weird problem. I'm building a lightbox image gallery that turns an > xml doc into a gallery with minimal effort. I've got it almost > complete and I've ran into a snag. The plugin generates a lightbox > with image controls (prev and next methods). > > Here is my bug: > when the prev method is called after 1 or more next method calls, > the obj loops prev the number of times that next was called (or > however many images have been view this code execution. If this is > unclear let me know and I'll try to explain it better. At any rate, > below is the code that is needed. > > var galleryObj = > { > getActiveImageIndex: function() > { > for(x in galleryObj.images) > { > arrImage = galleryObj.images[x]; > if(arrImage.src == galleryObj.currentSrc) > { > return Number(x); > } > } > return false; > }, > next: function() > { > var activeIndex = galleryObj.getActiveImageIndex(); > activeIndex++; > var nextImage = galleryObj.images[activeIndex]; > return galleryObj.getImage(nextImage.src); > }, > prev: function() > { > var activeIndex = galleryObj.getActiveImageIndex(); > activeIndex--; > var prevImage = galleryObj.images[activeIndex]; > return galleryObj.getImage(prevImage.src); > }, > > }; > > And below this I have something like this > > function setNavControls() { > if ( !galleryObj.firstImage() ) > { > //set prev control only if not first image > $("#nav-prev").show().bind('click', function() > { > galleryObj.prev(); > return false; > }); > }else > { > //hide prev control > $("#nav-prev").hide(); > } > if ( !galleryObj.lastImage() ) > { > //set next control only if not last image > $("#nav-next").show().bind('click', function(){ > galleryObj.next(); > return false; > }); > }else > { > $("#nav-next").hide(); > } > > } > > I really hope someone can help out. Thanks in advance