estoy trabajando sobre un sitio web que desarrollaron terceros, y estoy perdido con un plugin.
estamos usando el plugin que ya tenia el sitio, el cual hace un FADER de banners en el home. incluye boton de next, previous y navegador
adjunto el plugin
Código:
// slideshow plugin jQuery.fn.fadeGallery = function(_options){ var _options = jQuery.extend({ slideElements:'div.slideset > div', pagerLinks:'div.pager a', btnNext:'a.next', btnPrev:'a.prev', btnPlayPause:'a.play-pause', pausedClass:'paused', playClass:'playing', activeClass:'active', activePagerClass:'active', pauseOnHover:true, autoRotation:false, autoHeight:false, switchTime:3000, duration:650, event:'click' },_options); return this.each(function(){ // gallery options var _this = jQuery(this); var _slides = jQuery(_options.slideElements, _this); var _pagerLinks = jQuery(_options.pagerLinks, _this); var _btnPrev = jQuery(_options.btnPrev, _this); var _btnNext = jQuery(_options.btnNext, _this); var _btnPlayPause = jQuery(_options.btnPlayPause, _this); var _pauseOnHover = _options.pauseOnHover; var _autoRotation = _options.autoRotation; var _activeClass = _options.activeClass; var _activePagerClass = _options.activePagerClass; var _pausedClass = _options.pausedClass; var _playClass = _options.playClass; var _autoHeight = _options.autoHeight; var _duration = _options.duration; var _switchTime = _options.switchTime; var _controlEvent = _options.event; // gallery init var _hover = false; var _prevIndex = 0; var _currentIndex = 0; var _slideCount = _slides.length; var _timer; if(!_slideCount) return; _slides.hide().eq(_currentIndex).show(); if(_autoRotation) _this.removeClass(_pausedClass).addClass(_playClass); else _this.removeClass(_playClass).addClass(_pausedClass); // gallery control if(_btnPrev.length) { _btnPrev.bind(_controlEvent,function(){ prevSlide(); return false; }); } if(_btnNext.length) { _btnNext.bind(_controlEvent,function(){ nextSlide(); return false; }); } if(_slideCount < 2){ //by rod _autoRotation=false; //$('.gallery-nav').hide(); // alert('son banners:'+ _pagerLinks.length); }; if(_pagerLinks.length > 1) { _pagerLinks.each(function(_ind){ jQuery(this).bind(_controlEvent,function(){ if(_currentIndex != _ind) { _prevIndex = _currentIndex; _currentIndex = _ind; switchSlide(); } return false; }); }); } // play pause section if(_btnPlayPause.length) { _btnPlayPause.bind(_controlEvent,function(){ if(_this.hasClass(_pausedClass)) { _this.removeClass(_pausedClass).addClass(_playClass); _autoRotation = true; autoSlide(); } else { if(_timer) clearTimeout(_timer); _this.removeClass(_playClass).addClass(_pausedClass); } return false; }); } // gallery animation function prevSlide() { _prevIndex = _currentIndex; if(_currentIndex > 0) _currentIndex--; else _currentIndex = _slideCount-1; switchSlide(); } function nextSlide() { _prevIndex = _currentIndex; if(_currentIndex < _slideCount-1) _currentIndex++; else _currentIndex = 0; switchSlide(); } function refreshStatus() { if(_pagerLinks.length) _pagerLinks.removeClass(_activePagerClass).eq(_currentIndex).addClass(_activePagerClass); _slides.eq(_prevIndex).removeClass(_activeClass); _slides.eq(_currentIndex).addClass(_activeClass); } function switchSlide() { _slides.eq(_prevIndex).fadeOut(_duration); _slides.eq(_currentIndex).fadeIn(_duration); if(_autoHeight) _slides.eq(_currentIndex).parent().animate({height:_slides.eq(_currentIndex).outerHeight(true)},{duration:_duration,queue:false}); refreshStatus(); autoSlide(); } // autoslide function function autoSlide() { if(!_autoRotation || _hover) return; if(_timer) clearTimeout(_timer); _timer = setTimeout(nextSlide,_switchTime+_duration); } if(_pauseOnHover) { _this.hover(function(){ _hover = true; if(_timer) clearTimeout(_timer); },function(){ _hover = false; autoSlide(); }); } refreshStatus(); autoSlide(); }); }
y la llamada a dicho plugin seria la siguiente:
Código :
Código:
$('div.gallery').fadeGallery({ slideElements:'div.slider > div', pagerLinks:'ul.gallery-nav li', activeClass:'active-slide', pauseOnHover:true, autoRotation:true, autoHeight:false, switchTime:5000, duration:650 });
lo que necesito hacer, es simplemente llamar la funcion prevSlide() o nextSlide() una vez que se inicializo el plugin.
ejemplo: tengo un excuchador de eventos en un banner flash.. que al terminar determinada accion debe llamar a nextSlide() para que cambie de banner..
actualmente esta funcion solo funciona si existe un elemento <a> con id "next" y en el caso que necesito no hay ningun A. solo la llamada a la funcion
espero haber sido claro a pesar de lo perdido que estoy.
Saludos y muchas gracias