JavaScript - Scroll no intrusivo en Mootools

   
Vista:
Imágen de perfil de Bet7o

Scroll no intrusivo en Mootools

Publicado por Bet7o (63 intervenciones) el 10/09/2009 17:48:30
Hola a todos los que entren a este nuevo foro, ahi mucha documentacion y foros de mootools pero en ingles y en español muy poca por lo kual kreo k este foro debera de crecer muy rapido con la aydua de todos nosotros.

Bueno les dejo una clase echa en mootools 1.2.3 para realizar un scroll no intrusivo, espero ha alguien le sea de ayuda.

Asi inicializamos un obj nuevo de la clase.
-----------------------------------------------------------------------------------------
1
2
3
4
5
var scrollLlamadas = new miScroll() /* Genera nuevo objeto para el scroll. */
scrollLlamadas.setElemento('regSeguimiento') /* Elemento que tendra el scroll. */
scrollLlamadas.setBotones('scrollArriba','scrollAbajo') /* Botones que funcionan como scroll. */
scrollLlamadas.setVelocidad('17','-17') /* Velocidad del scroll. */
scrollLlamadas.crear() /* Crea el scroll. */
-----------------------------------------------------------------------------------------
mdrSNI_1.0.js
-----------------------------------------------------------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/**********************************************************************
	Nombre: mdrScroll.js
	Version: 1.0
	Autor: Roberto Iran Ramirez Navarro
	Fecha: 07 - Septiembre - 2009
	Descripcion: Genera un scroll no intrusivo.
**********************************************************************/
var miScroll = new Class({
	initialize: function(){
		this.elemento	=	''
		this.btnScroll	=	[]	/* Matriz k kontiene los botones k haran el scroll. */
		this.velScroll	=	[]	/* Velocidad kon la k sube el scroll. */
		this.sTo		=	''
	},
	setElemento: function(){this.elemento = arguments[0]},
	setBotones: function(){this.btnScroll = $A(arguments)},
	setVelocidad: function(){this.velScroll = $A(arguments)},
	corrido: function(index){
		var func = this._scroll.create({arguments: [this.elemento, this.velScroll[index]],attempt: true,periodical: 300})
		this.sTo = func()
	},
	generaScroll: function(){
		var scr = this
		this.btnScroll.each(function(item, index){
			 $(item).addEvent('click', function(){scr._scroll(scr.elemento, scr.velScroll[index])})
			 $(item).addEvent('mousedown', function(){scr.sTo = (function(){scr.corrido(index)}).delay(50)})
			 $(item).addEvent('mouseup', function(){$clear(scr.sTo)})
		 })
	},
	crear: function(){
		if(this.elemento != '' && this.btnScroll.length > 0 && this.velScroll.length > 0 && this.btnScroll.length == this.velScroll.length)
			this.generaScroll()
		else
			alert('[Error]	Problemas al iniciar el scroll')
	},
	_scroll: function(elemento, velScroll){$(elemento).scrollTop = $(elemento).scrollTop + parseInt(velScroll)}
})

Saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder