Maison interface Web js tutoriel Native JS implémente un retour en douceur aux meilleures compétences de composant_javascript

Native JS implémente un retour en douceur aux meilleures compétences de composant_javascript

May 16, 2016 pm 03:10 PM

Le composant Retour en haut est une fonction de page Web extrêmement courante avec une exigence simple : après que la page défile sur une certaine distance, un bouton Retour en haut s'affiche. En cliquant sur ce bouton, vous pouvez faire défiler la barre de défilement jusqu'au début de la page. page.

L'idée d'implémentation est également très simple, il suffit de changer la valeur de document.documentElement.scrollTop ou document.body.scrollTop.

Cet article abandonne tous les effets intéressants de l'accélération et de la décélération, revient à l'essence du logiciel et propose la mise en œuvre la plus simple. Il ne poursuit que l'aspect pratique et ne poursuit pas la soi-disant expérience utilisateur.

L'idée et le code étant très simples, je publierai directement les détails de mise en œuvre :

var BackTop = function (domE,distance) {
if (!domE) return;
var _onscroll = window.onscroll,
_onclick = domE.onclick;
window.onscroll = throttle(function(){
typeof _onscroll === 'function' && _onscroll.apply(this, arguments);
toggleDomE();
},100);
domE.onclick = function(){
typeof _onclick === 'function' && _onclick.apply(this, arguments);
document.documentElement.scrollTop = 0;
document.body.scrollTop = 0;
};
function toggleDomE(){
domE.style.display = (document.documentElement.scrollTop || document.body.scrollTop) > (distance || 500) ? 'block' : 'none';
}
function throttle(func, wait) {
var timer = null;
return function () {
var self = this, args = arguments;
if (timer) clearTimeout(timer);
timer = setTimeout(function () {
return typeof func === 'function' && func.apply(self, args);
}, wait);
}
}
}; 
Copier après la connexion

Méthode d'appel :

<script>
new BackTop(document.getElementById('backTop'))
</script> 
Copier après la connexion

La raison pour laquelle j'ai écrit ce blog et fait une chose si simple est pour deux raisons :

1) J'ai écrit à la main certains composants simples courants. C'est le plus simple des simples. Afin de rendre cette série de blogs plus complète, j'ai ajouté ce composant ;

2) Je souhaite exprimer un de mes points de vue sur le processus de travail : n'utilisez pas l'expérience utilisateur pour décorer vos logiciels ou vos produits. Pour parler franchement, l'expérience utilisateur peut être divisée en deux mots, l'un est bonne impression, et l'autre est une bonne impression. C'est juste amusant, mais ce n'est pas le but ultime du développement et du fonctionnement du produit. Peu importe la beauté de vos produits, si la valeur fondamentale et le service du produit ne suffisent pas, même si vous le faites. fonction de revenir au sommet dans une fusée super invincible, ce sera en vain. Lors du développement front-end, vous devez exercer un certain contrôle sur la mesure dans laquelle le chef de produit mentionne aveuglément les fonctions d'expérience utilisateur. Pour ce composant, je pense qu'il est redondant de faire des effets d'accélération ou de décélération. Cela augmente non seulement le temps de développement. mais retarde également le temps des utilisateurs et s'abandonne. L'entêtement à jouer avec la technologie peut rendre votre travail plus parfait.

Permettez-moi de partager avec vous quelques codes de retour de page Web courants aux meilleurs codes

1. Il est plus simple d'utiliser des balises d'ancrage HTML

Mais le seul inconvénient est que le style n'est pas très bon et cette balise d'ancrage sera affichée.

Copier le code Le code est le suivant :


Vous pouvez le placer n'importe où après la balise , à condition qu'il soit proche du haut.

Place en bas de page :

Copier le code Le code est le suivant :
Retour en haut

2. Utilisez la fonction Javascript Scroll pour revenir en haut

La fonction de défilement permet de contrôler la position de la barre de défilement. Il existe deux méthodes de mise en œuvre très simples :

Méthode 1 (recommandée : simple et pratique) :

Copier le code Le code est le suivant :
Retour en haut

Le premier paramètre de scroll est la position horizontale, et le deuxième paramètre est la position verticale. Par exemple, si vous souhaitez le positionner à 50 pixels verticalement, changez-le simplement en scroll(0,50).

Méthode 2 (concentration sur l'effet : lentement vers le haut) :

Cette méthode est un retour progressif vers le haut, qui devrait être plus esthétique. Le code est le suivant :

functionpageScroll() {window.scrollBy(0,-10);scrolldelay=setTimeout('pageScroll()',100);}<ahref="pageScroll();">返回顶部</a>
Copier après la connexion
Cela reviendra dynamiquement en haut, mais bien qu'il revienne en haut, le code est toujours en cours d'exécution et vous devez ajouter une phrase à la fonction pageScroll pour l'arrêter.

if(document.documentElement.scrollTop==0)clearTimeout(scrolldelay);
Copier après la connexion

3. Utilisez la fonction de défilement Onload plus pour revenir dynamiquement en haut

Premier ajout :

avant la fin de la balise body de la page web

<divid="gotop">返回顶部</div>
Copier après la connexion

2. Appelez ensuite la partie de script JS suivante :

BackTop=function(btnId){varbtn=document.getElementById(btnId);vard=document.documentElement;window.onscroll=set;btn.onclick=function(){btn.style.display="none";window.onscroll=null;this.timer=setInterval(function(){d.scrollTop-=Math.ceil(d.scrollTop*0.1);if(d.scrollTop==0)clearInterval(btn.timer,window.onscroll=set);},10);};functionset(){btn.style.display=d.scrollTop&#63;'block':"none"}};BackTop('gotop');

Copier après la connexion
Ceux-ci peuvent être placés dans une page Web, ou peuvent être enregistrés indépendamment sous forme de fichier js, tel que gotop.js, puis sous la forme suivante :

<scriptsrc="/js/gotop.js"type=text/javascript></script>
Copier après la connexion
pour appeler. Bien sûr, il est préférable de le placer sous l'étiquette "Retour en haut". Cette méthode d'appel suppose que le chemin du fichier est JS. Veuillez le modifier en fonction de la situation réelle lorsque vous le placez à d'autres emplacements.


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Apr 04, 2025 pm 02:42 PM

Des questions et des solutions fréquemment posées pour l'impression de billets thermiques frontaux pour le développement frontal, l'impression de billets est une exigence commune. Cependant, de nombreux développeurs mettent en œuvre ...

Qui est payé plus de python ou de javascript? Qui est payé plus de python ou de javascript? Apr 04, 2025 am 12:09 AM

Il n'y a pas de salaire absolu pour les développeurs Python et JavaScript, selon les compétences et les besoins de l'industrie. 1. Python peut être davantage payé en science des données et en apprentissage automatique. 2. JavaScript a une grande demande dans le développement frontal et complet, et son salaire est également considérable. 3. Les facteurs d'influence comprennent l'expérience, la localisation géographique, la taille de l'entreprise et les compétences spécifiques.

Démystifier javascript: ce qu'il fait et pourquoi c'est important Démystifier javascript: ce qu'il fait et pourquoi c'est important Apr 09, 2025 am 12:07 AM

JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Apr 04, 2025 pm 05:09 PM

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en JavaScript? Lors du traitement des données, nous rencontrons souvent la nécessité d'avoir le même ID ...

Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido?
ou:
Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido? ou: Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Apr 04, 2025 pm 05:36 PM

La discussion sur la réalisation des effets de défilement de parallaxe et d'animation des éléments dans cet article explorera comment réaliser le site officiel de Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ...

La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? Apr 04, 2025 pm 05:12 PM

Discussion approfondie des causes profondes de la différence de sortie Console.log. Cet article analysera les différences dans les résultats de sortie de la fonction Console.log dans un morceau de code et expliquera les raisons derrière. � ...

JavaScript est-il difficile à apprendre? JavaScript est-il difficile à apprendre? Apr 03, 2025 am 12:20 AM

Apprendre JavaScript n'est pas difficile, mais c'est difficile. 1) Comprendre les concepts de base tels que les variables, les types de données, les fonctions, etc. 2) Master la programmation asynchrone et les implémenter via des boucles d'événements. 3) Utilisez les opérations DOM et promettez de gérer les demandes asynchrones. 4) Évitez les erreurs courantes et utilisez des techniques de débogage. 5) Optimiser les performances et suivre les meilleures pratiques.

Comment implémenter la fonction de glisser-déposer et de régler la fonction de réglage similaire à VScode dans le développement frontal? Comment implémenter la fonction de glisser-déposer et de régler la fonction de réglage similaire à VScode dans le développement frontal? Apr 04, 2025 pm 02:06 PM

Explorez la mise en œuvre de la fonction de glisser et de réglage du panneau de type VScode dans le frontal. Dans le développement frontal, comment implémenter un VScode comme ...

See all articles