slide = { // vetor com os slides _imagens : [ ["imgs/slide/ban_1.jpg","http://www.bananajoe.com.br/"],["imgs/slide/ban_2.jpg","http://www.academiamedleysfs.com.br/"],["imgs/slide/ban_3.jpg","http://www.pousadadailha.com"],["imgs/slide/vn.jpg","http://www.estilodevidanatural.com.br/"] ], // ID dos elementos que o sistema modifica // ID da imagem do slide _slideImg : 'slideImg', // ID do link do slide, ou seja, um elemento A _linkSlide : 'linkSlide', // ID da imagem de play|pause _playPause : 'playpause', // ID da div que mostra ou esconde as opções de customização de tempo // essa opção pode ser omitida do usuário, basta retirar o botão // settings da página, e como a div já vem com o display:none por // padrão o usuário não terá acesso a essas opções. _showTimer : 'showTimer', // variáveis do sistema // Daqui para baixo não é necessário alterar mais nada, aqui o sistema // cuidará de tudo _count : 0, _length : null, _timeOutID : null, _pause : false, _timer : 9, // função que inicia o slide e seta todas os parâmetros necessários start : function(){ with(this){ _preLoader(); _length = _imagens.length; _work(); } }, // faz o pré-carregamento das imagens _preLoader : function(){ for(x in this._imagens){ var image = new Image(); image.src = this._imagens[x][0]; } }, // função principal que faz as checagens necessárias _work : function(){ with(this){ (_count == _length) ? _count = 0 : (_count < 0) ? _count = _length-1 : void(0); var current = _imagens[_count]; _exchange(current); if(!_pause){ (typeof(_timeOutID) == 'number') ? clearTimeout(_timeOutID) : void(0); _timeOutID = setTimeout( function(){ slide.next(); }, (Number(_timer)*1000) ); } } }, // função que altera os elementos da página, altere os IDs se necessário _exchange : function(img){ this.$(this._slideImg).src = img[0]; this.$(this._linkSlide).href = img[1]; }, // altera para o próximo slide ao clicar no botão Próximo next : function(){ with(this){ _count++; _work(); } }, // altera para o slide anterior ao clicar no botão correspondente previous : function(){ with(this){ _count--; _work(); } }, // pausa e continua a apresentação pause : function(){ var img = this.$(this._playPause); if(this._pause){ this._pause = false; img.src = 'imgs/pause.gif'; img.title = 'Parar'; } else{ this._pause = true; img.src = 'imgs/play.gif'; img.title = 'Continuar'; } with(this){(typeof(_timeOutID) == 'number') ? clearTimeout(_timeOutID) : void(0); _work();} }, // controla o tempo de troca de cada slide tControl : function(act){ with(this){ (act=='m')?((_timer==7)?void(0):_timer=_timer-1):((_timer==9)?void(0):_timer= _timer +1); this.$(this._showTimer).innerHTML = _timer+'s'; } }, $ : function(){ return document.getElementById(arguments[0]); } }