Je ne comprends pas très bien cette option et son fonctionnement. Le document fournit une explication, mais quel est un exemple concret?
normalScrollElementTouchThreshold : (valeur par défaut 5) Définit le seuil du nombre de sauts dans l’arborescence du noeud html. Fullpage testera si
normalScrollElements
est une correspondance permettant le défilement des div sur un périphérique tactile. (Par exemple:normalScrollElementTouchThreshold: 3
)
L’option normalScrollElements
fonctionne assez facilement sur les navigateurs de bureau car l’élément mouseover
est propagé à travers la structure DOM.
Pour les appareils tactiles, cette implémentation est un peu plus complexe et c’est à cela normalScrollElementTouchThreshold
le normalScrollElementTouchThreshold
. L’ touchstart
ou touchstart
ne se propage pas de cette manière.
Lorsqu’un événement tactile est reconnu, l’élément le plus profond de la structure DOM qui se trouve sous votre doigt est renvoyé.
Cela signifie que si vous avez un plugin popup lightbox sur votre site, par exemple, et que vous voulez que cela fonctionne avec l’option normalScrollElements
, alors si vous avez des divs
ou des paragrphas à l’intérieur, ces éléments seront retournés à la place de votre conteneur lightbox auquel vous appliquez le normalScrollElements
.
Par conséquent, pour que le plug-in puisse voir s’il est un élément à ignorer ou non, il doit remonter dans la structure DOM pour vérifier les éléments parents. Par défaut, il vérifiera jusqu’à 5 parents. Mais vous pouvez le changer si nécessaire.
Pour mieux illustrer cela, imaginez cette situation:
My Title Box1 Box1
Initialisation:
$('#fullpage').fullpage({ normalScrollElements: '.myLightBox', });
Si vous touchez votre lightobx au-dessus des éléments box
, celui box
ci sera renvoyé aux événements touchstart
ou touchstart
du plug- touchstart
.
Comme vous avez défini la normalScrollElements
sur myLightBox
, la section normalScrollElements
vers le haut ou le bas, car myLightBox
est différent de l’élément box
.
Pour résoudre ce problème, le plugin monte de 5 niveaux dans la structure DOM en les comparant avec vos valeurs dans normalScrollElements
. Il va donc cocher la box
, puis body
et enfin myLightBox
, ce qui fera que le plugin ignore le défilement automatique sur cet élément.