Maison interface Web js tutoriel JavaScript imite l'effet de retour en haut de Taobao (exemple de code)

JavaScript imite l'effet de retour en haut de Taobao (exemple de code)

Nov 30, 2019 pm 05:10 PM
javascript 回到顶部 效果

Ce que cet article vous apporte, c'est l'effet de retour en haut de l'imitation JavaScript Taobao (exemple de code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

JavaScript imite l'effet de retour en haut de Taobao (exemple de code)

Exigence : lorsque la barre de défilement atteint une certaine position, la barre latérale est fixée à une certaine position, et lorsqu'elle glisse vers une certaine position, le dos Le bouton vers le haut s'affiche. Après avoir cliqué sur le bouton, la page glissera dynamiquement vers le haut, glissant vers le haut de rapide à lent.

Idées :

1. Le code js ne peut pas être exécuté tant que la page n'est pas chargée

Vous pouvez ajouter js Le code est écrit en bas (c'est la façon de revenir en haut exemple)

Si vous souhaitez l'écrire en haut, vous pouvez utiliser les deux types suivants :

  ①window.onload = function() {...}

  ②window.addEventListener('load', function () {...})

2. Obtenez les éléments dont vous avez besoin

3. Liez le parchemin d'événement de défilement

Lorsque l'utilisateur fait défiler jusqu'au module bannière Rendre la barre latérale corrigée

if(window.pageYOffset >= bannerTop) {    // window.pageYOffset 屏幕被滚上去的距离
    sliderbar.style.position = 'fixed';   // 当用户滚到banner模块时使侧边栏变为固定状态
    sliderbar.style.top = sliderbarTop + 'px'; 
} else {
    sliderbar.style.position = 'absolute';
    sliderbar.style.top = '300px';
}
Copier après la connexion

Afficher le bouton de retour en haut lorsque l'utilisateur fait défiler vers le module principal

 if(window.pageYOffset >= mainTop) {    // 当用户滚到main模块时显示返回顶部按钮
     goBack.style.display = 'block';
 } else {
     goBack.style.display = 'none';
 }
Copier après la connexion

4. Liaison, clic, événement, clic

Après avoir cliqué sur le bouton de retour en haut, la page glissera dynamiquement vers le haut, glissant vers le haut de rapide à slow

 sliderbar.addEventListener('click', function() {
     animate(window, 0);
 })
Copier après la connexion

5. À propos de la fonction d'animation animate(obj, target, callback)

Ici, l'objet obj est window ; target la position cible est 0 ; le rappel est une fonction de rappel, vous pouvez l'ignorer si aucun paramètre n'est transmis

Définir un timer setInterval();

Déclarez un pas comme valeur de pas, la valeur est entre la position supérieure et la position actuelle de la barre de défilement Divisez la différence par 10 (le pas deviendra de plus en plus petit et la vitesse de défilement deviendra de plus en plus lente, réalisant le défilement barre glissant de rapide à lent)

var step = (target - window.pageYOffset) / 10;
Copier après la connexion

Cependant, step Ce n'est pas toujours un entier Lorsque step n'est pas un entier, vous pouvez faire avancer un peu la barre de défilement. La barre de défilement peut glisser de haut en bas, le pas peut donc être supérieur à zéro ou inférieur à zéro. Si supérieur à zéro, arrondissez vers le haut, si inférieur à zéro, arrondissez vers le bas

step = step > 0 ? Math.ceil(step) : Math.floor(step);
Copier après la connexion

window.scroll(x, y) Faites défiler jusqu'à une position spécifique dans le document Le timer est appelé à chaque fois La fonction glissera un peu vers le haut

window.scroll(0, window.pageYOffset + step);
Copier après la connexion

pour déterminer si l'animation est terminée, et si elle est terminée, fermez le timer clearInterval();

if(window.pageYOffset == target) {  // 当页面回到顶部后(即动画执行完) 清除定时器
    clearInterval(obj.timer);
    //  判断是否传了回调函数
    /* if(callback) { 
        callback();
    } */
    // 可以简写为下边这种。 &&是短路运算符,存在callback(即第一个式子为true)时才会继续执行callback()
    callback && callback();
}
Copier après la connexion

Détails Le code est le suivant :




    
    
    
    返回顶部效果
    


    
        返回顶部     
    
头部区域
         
主体部分
    <script>         // querySelector() 方法返回匹配指定选择器()的第一个元素,传的必须是字符串         var sliderbar = document.querySelector('.slider-bar');         var banner = document.querySelector('.banner');         var bannerTop = banner.offsetTop; // banner模块距离顶部的长度         var sliderbarTop = sliderbar.offsetTop - bannerTop; // 侧边栏固定后距离顶部的长度         var main = document.querySelector('.main');         var goBack = document.querySelector('.goBack');         var mainTop = main.offsetTop;  // main模块距离顶部的长度                  // scroll 屏幕发生滚动事件时执行         document.addEventListener('scroll', function() {             if(window.pageYOffset >= bannerTop) {    // window.pageYOffset 屏幕被滚上去的距离                 sliderbar.style.position = 'fixed';   // 当用户滚到banner模块时使侧边栏变为固定状态                 sliderbar.style.top = sliderbarTop + 'px';              } else {                 sliderbar.style.position = 'absolute';                 sliderbar.style.top = '300px';             }                          if(window.pageYOffset >= mainTop) {    // 当用户滚到main模块时显示返回顶部按钮                 goBack.style.display = 'block';             } else {                 goBack.style.display = 'none';             }                      });         sliderbar.addEventListener('click', function() {             animate(window, 0);         })         /* 动画函数:          *  obj 做动画的对象(这里就是指window)          *  target 目标位置(顶部)          *  callback 回调函数(没有传参的话就不执行)          */         function animate(obj, target, callback) {             clearInterval(obj.timer);  // 先清除定时器,保证只有一个定时器在执行,以免出现bug             obj.timer = setInterval(function() {                 // window.pageYOffset距离顶部的距离(是负的)                 var step = (target - window.pageYOffset) / 10;  // step步长(让页面速度逐渐变慢的滑动上去)                 step = step &gt; 0 ? Math.ceil(step) : Math.floor(step); // step并不总是整数。大于零向上取整,小于零向下取整                 if(window.pageYOffset == target) {  // 当页面回到顶部后(即动画执行完) 清除定时器                     clearInterval(obj.timer);                     //  判断是否传了回调函数                     /* if(callback) {                          callback();                     } */                     // 可以简写为下边这种。 &&是短路运算符,存在callback(即第一个式子为true)时才会继续执行callback()                     callback && callback();                 }                 // window.scroll(x, y) 滚动到文档特定位置                 window.scroll(0, window.pageYOffset + step);             }, 15);         }     </script>
Copier après la connexion
D'autres codes d'effets spéciaux javascript sympas sont disponibles sur :

collection d'effets spéciaux js

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

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)

Les utilisateurs rencontrent de rares problèmes : les montres intelligentes Samsung Watch rencontrent soudainement des problèmes d'écran blanc Les utilisateurs rencontrent de rares problèmes : les montres intelligentes Samsung Watch rencontrent soudainement des problèmes d'écran blanc Apr 03, 2024 am 08:13 AM

Vous avez peut-être rencontré le problème des lignes vertes apparaissant sur l'écran de votre smartphone. Même si vous ne l'avez jamais vu, vous avez sûrement vu des images associées sur Internet. Alors, avez-vous déjà rencontré une situation où l’écran de la montre intelligente devient blanc ? Le 2 avril, CNMO a appris par des médias étrangers qu'un utilisateur de Reddit avait partagé une photo sur la plateforme sociale, montrant l'écran des montres intelligentes de la série Samsung Watch devenant blanc. L'utilisateur a écrit : « J'étais en train de charger quand je suis parti, et quand je suis revenu, c'était comme ça. J'ai essayé de redémarrer, mais l'écran était toujours comme ça pendant le processus de redémarrage. L'écran de la montre intelligente Samsung Watch est devenu blanc. L'utilisateur de Reddit n'a pas précisé le modèle spécifique de la montre intelligente. Cependant, à en juger par l’image, il devrait s’agir de la Samsung Watch5. Auparavant, un autre utilisateur de Reddit avait également signalé

Examen du radiateur Kyushu Fengshen Assassin 4S Style 'Assassin Master' refroidi par air Examen du radiateur Kyushu Fengshen Assassin 4S Style 'Assassin Master' refroidi par air Mar 28, 2024 am 11:11 AM

En parlant d'ASSASSIN, je pense que les joueurs penseront certainement aux maîtres assassins d'"Assassin's Creed". Ils sont non seulement talentueux, mais ont aussi le credo de "se consacrer aux ténèbres et au service de la lumière". châssis/alimentation/refroidissement domestiques bien connus La série ASSASSIN de radiateurs refroidis par air phares de la marque d'appareils DeepCool coïncide les uns avec les autres. Récemment, le dernier produit de cette série, ASSASSIN4S, a été lancé "Assassin in Suit, Advanced" et apporte une nouvelle expérience de refroidissement par air aux joueurs avancés. L'apparence est pleine de détails. Le radiateur Assassin 4S adopte une structure à double tour + un seul ventilateur intégré. L'extérieur est recouvert d'un carénage en forme de cube, qui a un fort sens général. Couleurs pour répondre à différentes couleurs.

Art exquis de la lumière et de l'ombre au printemps, Haqu H2 est le choix rentable Art exquis de la lumière et de l'ombre au printemps, Haqu H2 est le choix rentable Apr 17, 2024 pm 05:07 PM

Avec l’arrivée du printemps, tout renaît et tout est plein de vitalité et de vitalité. En cette belle saison, comment ajouter une touche de couleur à votre intérieur ? Le projecteur Haqu H2, avec son design exquis et son excellent rapport coût-efficacité, est devenu une beauté indispensable ce printemps. Ce projecteur H2 est compact mais élégant. Qu'il soit placé sur le meuble TV du salon ou à côté de la table de chevet dans la chambre, il peut devenir un magnifique paysage. Son corps est fait d'une texture mate blanc laiteux. Cette conception donne non seulement au projecteur un aspect plus avancé, mais augmente également le confort du toucher. Le matériau texturé en cuir beige ajoute une touche de chaleur et d'élégance à l'apparence générale. Cette combinaison de couleurs et de matériaux est non seulement conforme à la tendance esthétique des maisons modernes, mais peut également être intégrée dans

Test de l'alimentation à module complet Huntkey MX750P : 750 W de puissance concentrée en platine Test de l'alimentation à module complet Huntkey MX750P : 750 W de puissance concentrée en platine Mar 28, 2024 pm 03:20 PM

Grâce à sa taille compacte, la plate-forme ITX a attiré de nombreux acteurs à la recherche d'une beauté ultime et unique. Grâce à l'amélioration des processus de fabrication et aux progrès technologiques, les cartes graphiques Intel Core de 14e génération et les séries RTX40 peuvent exercer leur force sur la plate-forme ITX. les joueurs ont également des exigences plus élevées en matière d'alimentation SFX. Huntkey, passionné de jeux, a lancé une nouvelle alimentation de la série MX dans la plate-forme ITX qui répond aux exigences de haute performance, l'alimentation à module complet MX750P a une puissance nominale allant jusqu'à 750 W et a passé la certification de niveau platine 80PLUS. Ci-dessous, nous apportons l’évaluation de cette alimentation. L'alimentation à module complet Huntkey MX750P adopte un concept de design simple et à la mode. Il existe deux modèles en noir et blanc parmi lesquels les joueurs peuvent choisir. Les deux utilisent un traitement de surface mat et ont une bonne texture avec des polices gris argenté et rouge.

Test du Colorful Hidden Star P15 24 : un ordinateur portable de jeu polyvalent avec une belle apparence et des performances Test du Colorful Hidden Star P15 24 : un ordinateur portable de jeu polyvalent avec une belle apparence et des performances Mar 06, 2024 pm 04:40 PM

Dans l’ère actuelle de développement technologique rapide, les ordinateurs portables sont devenus un outil indispensable et important dans la vie quotidienne et au travail des gens. Pour les joueurs qui ont des exigences de performances élevées, un ordinateur portable doté d’une configuration puissante et d’excellentes performances peut répondre à leurs besoins les plus exigeants. Avec ses excellentes performances et son design époustouflant, l'ordinateur portable Colorful Hidden Star P15 est devenu le leader du futur et peut être qualifié de modèle d'ordinateurs portables durs. Colorful Hidden Star P1524 est équipé d'un processeur Intel Core i7 de 13e génération et d'un GPU RTX4060Laptop. Il adopte un style de conception de vaisseau spatial plus à la mode et offre d'excellentes performances dans les détails. Jetons d'abord un coup d'œil aux fonctionnalités de ce portable. Supreme équipé du processeur Intel Core i7-13620H

Comprenez facilement les images 4K HD ! Ce grand modèle multimodal analyse automatiquement le contenu des affiches Web, ce qui le rend très pratique pour les travailleurs. Comprenez facilement les images 4K HD ! Ce grand modèle multimodal analyse automatiquement le contenu des affiches Web, ce qui le rend très pratique pour les travailleurs. Apr 23, 2024 am 08:04 AM

Un modèle volumineux capable d'analyser automatiquement le contenu des PDF, des pages Web, des affiches et des graphiques Excel n'est pas très pratique pour les travailleurs. Le modèle InternLM-XComposer2-4KHD (en abrégé IXC2-4KHD) proposé par Shanghai AILab, l'Université chinoise de Hong Kong et d'autres instituts de recherche en fait une réalité. Par rapport à d'autres grands modèles multimodaux qui ont une limite de résolution ne dépassant pas 1 500 x 1 500, ce travail augmente l'image d'entrée maximale des grands modèles multimodaux à une résolution supérieure à 4K (3 840 x 1 600) et prend en charge n'importe quel rapport d'aspect et 336 pixels en 4K. Changements de résolution dynamiques. Trois jours après sa sortie, le modèle était en tête de la liste de popularité des modèles de réponses visuelles aux questions HuggingFace. Facile à manier

L'écran est idéal pour jouer à des jeux. Brève analyse de l'écran iQOO Neo9S Pro+. L'écran est idéal pour jouer à des jeux. Brève analyse de l'écran iQOO Neo9S Pro+. Jul 19, 2024 pm 03:53 PM

Sur le marché actuel des smartphones, la qualité de l'écran est devenue l'un des indicateurs clés pour mesurer les performances globales d'un téléphone mobile. La série Neo d'iQOO s'est toujours engagée à offrir aux utilisateurs une excellente expérience de jeu et un plaisir visuel. Le dernier produit iQOO Neo9SPro+ utilise un « écran de jeu à trois bonnes protections oculaires ». Ensuite, jetons un coup d'œil à la qualité de cet écran. iQOO Neo9S Pro+ est équipé d'un écran direct e-sports 1,5 KOLED, qui prend en charge le taux de rafraîchissement adaptatif phare LTPO de 1 Hz à 144 Hz, ce qui signifie qu'il peut atteindre un état de veille à très faible consommation lors de l'affichage de contenu statique, et il peut également être intelligent pendant le jeu. Passez à la dynamique élevée de 90 Hz à 144 Hz.

Une véritable expérience avec un seul objectif avec l'objectif NIKKOR Z 28-400 mm f/4-8 VR Une véritable expérience avec un seul objectif avec l'objectif NIKKOR Z 28-400 mm f/4-8 VR Mar 28, 2024 pm 02:54 PM

De nombreux passionnés de photographie aiment utiliser des objectifs. Leurs besoins en matière de prise de vue sont très variables, c'est pourquoi lorsqu'il s'agit de sélectionner un objectif, ils préfèrent un produit plus polyvalent, ce que nous appelons communément l'objectif « un objectif pour conquérir le monde ». Il se trouve que Nikon a lancé un nouveau produit, l'objectif NIKKOR Z28-400mmf/4-8VR, un véritable objectif « unique qui peut conquérir le monde ». L'objectif s'étend de l'extrémité grand angle de 28 mm à l'extrémité du téléobjectif de 400 mm. Équipé de son appareil photo à monture Z, il peut facilement photographier une gamme très riche de thèmes photographiques et apporter un riche changement de perspective. Aujourd'hui, nous allons vous parler de cet objectif NIKKOR Z28-400mmf/4-8VR à travers notre récente expérience d'utilisation. NIKKOR Z28-400mmf/4-8VR est

See all articles