Bouton Retour en haut réalisé uniquement avec Javascript (rails, haml)

■ Présentation

J'ai écrit un article sur le bouton de retour en haut réalisé uniquement avec Javascript. Voici ce que vous obtiendrez dans cet article:

・ Augmente les connaissances de base de Javascript ・ Vous serez en mesure de comprendre comment créer un bouton pour revenir en haut en utilisant Javascript sans dépendre de jQuery.

・ Sites et vidéos auxquels j'ai fait référence → [Si vous faites défiler avec JS, ◯◯! Traitons-le en le liant au parchemin! ](Https://www.youtube.com/watch?v=_agZ_AP6W44&ab_channel=%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3 % 83% B3% E3% 83% 89% E3% 83% 81% E3% 83% A3% E3% 83% B3% E3% 83% 8D% E3% 83% AB-% E5% 9F% BA% E7% A4% 8E% E3% 81% 8B% E3% 82% 89% E5% BF% 9C% E7% 94% A8% E3% 81% BE% E3% 81% A7-% E6% AD% A6% E7% 94 % B0% E4% B8% 80% E7% 9C% 9F) → [De-jQuery] Implémentation d'un bouton pour revenir en haut uniquement avec Javascript

■ Code

haml:index.html.haml


.scroll#scrollValue
  %i.fas.fa-angle-up

= javascript_pack_tag 'main' -# app/javascript/packs/home/main.lire js

index.scss


.scroll {
  position: fixed;
  right: 0;
  bottom: 0;
  font-size: 2rem;
  color: #fff;
  transform: translate(-50%, -50%);
  background-color: #333;
  padding: 0 14px;
  border-radius: 50%;
  visibility: hidden;
  opacity: 0;
  transition: 0.5s;
}
.scroll.top {
  visibility: visible;
  opacity: 1;
  transition: 0.5s;
}

main.js


window.addEventListener("scroll", function () {
  const scroll = document.documentElement.scrollTop; //Définissez le processus pour obtenir la valeur de défilement du haut dans l'élément racine du document avec une variable
  const PageTopBtn = document.getElementById("scrollValue");

  if (scroll > 300) {
    document.querySelector(".scroll").classList.add("top");
  } else {
    document.querySelector(".scroll").classList.remove("top");
  }

  PageTopBtn.addEventListener("click", () => {
    window.scrollTo({ //Faites défiler jusqu'à une combinaison spécifique dans le document
      top: 0,
      behavior: "smooth", //Défilement lisse
    });
  });
});


Recommended Posts

Bouton Retour en haut réalisé uniquement avec Javascript (rails, haml)
Bouton [Ruby on Rails] pour revenir en haut
Bouton [Rails] pour revenir en haut de la page
[Comment insérer une vidéo dans un hameau avec Rails]
Je veux pousser une application créée avec Rails 6 vers GitHub
[Avec des astuces de retour] Comment présenter React aux rails les plus simples
Connectez-vous au serveur Rails avec iPhone
Présentation de React to Rails avec react-rails
Recherche intemporelle avec Rails + JavaScript (jQuery)
Comment décorer CSS sur les boutons radio de rails6 form_with (helper)
Comment comparer uniquement le temps avec Rails (de quelle heure à quelle heure, quelque chose comme)
[Rails] Comment convertir ERB en Haml
Convertir le langage C en JavaScript avec Emscripten
Comment changer d'images miniatures avec JavaScript
Déployer sur heroku avec Docker (Rails 6, MySQL)
[Rails] Assignation de variables du contrôleur à JavaScript
Comment créer un environnement Rails 6 avec Docker