JavaScript - Scroll navegación, práctica de clase que no entiendo

 
Vista:
sin imagen de perfil

Scroll navegación, práctica de clase que no entiendo

Publicado por Fran (7 intervenciones) el 08/05/2017 20:54:12
Hola,
Estoy haciendo una práctica para clase de Jquery y no entiendo el funcionamiento del código. ¿Alguien me podría dar algo de luz sobre este fragmento?
El resultado es este (la demo del sistema) http://www.jqueryscript.net/demo/Create-A-One-Page-Scrolling-Website-with-jQuery-CSS3/

En la primera función se obtiene la posición de los elementos con el método offset, pero no entiendo por qué primero se extrae la información del top para luego restarla (return $(id).offset().top - offset;).
El resto del código me provoca muchas dudas, así que creo que si recibo una interpretación de un desarrollador podré comprenderlo mejor.

Muchas gracias,

Código:

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
<script>
 
 
function getTargetTop(elem){
	var id = elem.attr("href");
	var offset = 60;
	return $(id).offset().top - offset;
}
 
 
	$(window).scroll(function(e){
		isSelected($(window).scrollTop())
	});
 
var sections = $('a[href^="#"]');
 
function isSelected(scrolledTo){
 
	var threshold = 100;
	var i;
 
	for (i = 0; i < sections.length; i++) {
		var section = $(sections[i]);
		var target = getTargetTop(section);
 
		if (scrolledTo > target - threshold && scrolledTo < target + threshold) {
			sections.removeClass("active");
			section.addClass("active");
		}
 
	};
}
</script>
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