Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coupe WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Comment ajouter un effet de défilement lisse vers le haut dans WordPress en utilisant jQuery

Note éditoriale : Nous percevons une commission sur les liens des partenaires sur WPBeginner. Les commissions n'affectent pas les opinions ou les évaluations de nos rédacteurs. En savoir plus sur Processus éditorial.

Vous souhaitez ajouter un effet de défilement en douceur vers le haut de la page sur votre site WordPress ?

Un effet de défilement vers le haut est idéal lorsque vous avez une longue page et que vous voulez donner à vos utilisateurs/utilisatrices un moyen facile de revenir au début. Il aide à améliorer l’expérience des utilisateurs/utilisatrices de votre site.

Dans cet article, nous allons vous afficher comment ajouter un effet de défilement fluide vers le haut dans WordPress en utilisant jQuery et une extension.

How to scroll to top effect using jQuery

Qu’est-ce que le défilement lisse et quand l’utiliser ?

À moins que le site ne dispose d’un menu en-tête collant, les utilisateurs/utilisatrices qui se rendent au bas d’une longue page ou d’une publication WordPress doivent épingler ou défiler manuellement jusqu’en haut pour naviguer sur le site.

Cela peut s’avérer très ennuyeux, et souvent les utilisateurs/utilisatrices appuient simplement sur le bouton retour et s’en vont. C’est pourquoi vous avez besoin d’un bouton qui renvoie rapidement les utilisateurs/utilisatrices vers le haut de la page.

Vous pouvez ajouter cette fonctionnalité sous la forme d’un simple lien textuel sans utiliser jQuery, comme ceci :

<a href="#" title="Back to top">^Top</a>

Cela enverra les utilisateurs/utilisatrices vers le haut en faisant défiler la page entière en quelques millisecondes. Cela fonctionne, mais l’effet peut être déstabilisant, un peu comme lorsque vous rencontrez un obstacle sur la route.

Le défilement lisse est le contraire de cela. Il diapositive l’utilisateur vers le haut avec un effet visuellement agréable. L’utilisation d’éléments de ce type peut améliorer considérablement l’expérience de l’utilisateur sur votre site.

Cela dit, voyons comment ajouter un effet de défilement fluide vers le haut à l’aide d’une extension WordPress et de jQuery.

Comment ajouter un effet de défilement lisse vers le haut à l’aide d’une extension WordPress

Cette méthode est recommandée pour les débutants, car vous pouvez ajouter un effet de défilement vers le haut à un site WordPress sans toucher à une seule ligne de code.

La première chose à faire est d’installer et d’activer l’extension WPFront Scroll Top. Si vous avez besoin d’aide, veuillez consulter notre guide sur l’installation d’une extension WordPress.

Une fois activé, vous pouvez vous rendre dans Réglages  » Scroll Top depuis votre tableau de bord WordPress. Ici, vous pouvez configurer l’extension et personnaliser l’effet de défilement lisse.

Tout d’abord, vous devez cliquer sur la case « Activé » pour activer le bouton de défilement vers le haut sur votre site. Ensuite, vous verrez des options pour modifier le décalage du défilement, la taille du bouton, l’opacité, la durée du fondu, la durée du défilement, et plus encore.

Edit WPfront scroll top settings

Si vous défilez vers le bas, vous trouverez d’autres options comme la modification du temps de masquage automatique, l’activation de l’option permettant de masquer le bouton sur les petits appareils et le masquage sur l’écran wp-admin.

Vous pouvez également modifier l’action du bouton lorsque vous cliquez dessus. Par défaut, il défile vers le haut de la page, mais vous pouvez le modifier pour qu’il défile vers un élément particulier de la publication ou même qu’il crée un lien vers une page.

Il existe également une option permettant de modifier l’Emplacement du bouton. Par défaut, il apparaît dans le coin inférieur droit de l’écran, mais vous pouvez également choisir de le déplacer dans n’importe quel autre coin.

More edit WPfront scroll top settings

L’extension WPFront Scroll Top propose également des filtres permettant d’afficher le bouton de défilement vers le haut uniquement sur les pages sélectionnées.

Normalement, il apparaîtra sur toutes les pages de votre blog WordPress. Cependant, vous pouvez vous rendre dans la section  » Afficher sur les pages  » et choisir où vous souhaitez afficher l’effet de défilement vers le haut.

Choose where to display the effect

L’extension propose également des modèles de boutons prédéfinis parmi lesquels vous pouvez choisir. Vous devriez pouvoir trouver facilement un design qui correspond à votre site.

Si vous ne trouvez pas de bouton image prédéfini qui vous convienne, vous avez la possibilité de téléverser une image personnalisée à partir de la médiathèque de WordPress.

Choose an image button

Lorsque vous avez terminé, cliquez simplement sur le bouton « Enregistrer les modifications ».

Vous pouvez maintenant visiter votre site pour voir le bouton « défilement vers le haut » en action.

Scroll to top button preview

Ajout d’un effet de défilement en haut de page avec jQuery dans WordPress

Cette méthode n’est pas recommandée aux débutants. Elle convient aux personnes qui sont à l’aise pour modifier des thèmes, car elle inclut l’ajout de code à votre site.

Nous utiliserons jQuery, un peu de CSS et une seule ligne de code HTML dans votre thème WordPress pour ajouter l’effet de défilement fluide.

Tout d’abord, ouvrez un éditeur de texte comme le Bloc-notes et créez un fichier. Enregistrez-le sous le nom de smoothscroll.js.

Ensuite, vous devrez copier et coller ce code dans le fichier :

jQuery(document).ready(function($){
	$(window).scroll(function(){
        if ($(this).scrollTop() < 200) {
			$('#smoothup') .fadeOut();
        } else {
			$('#smoothup') .fadeIn();
        }
    });
	$('#smoothup').on('click', function(){
		$('html, body').animate({scrollTop:0}, 'fast');
		return false;
		});
});

Après cela, vous pouvez enregistrer le fichier et le téléverser dans le dossier /js/ du répertoire de votre thème WordPress. Pour plus de détails, veuillez consulter notre guide sur l’utilisation du FTP pour téléverser des fichiers sur WordPress.

Si votre thème n’a pas de répertoire /js/, vous pouvez en créer un et y téléverser smoothscroll.js. Vous pouvez également consulter notre guide sur la structure des fichiers et des répertoires de WordPress pour en savoir plus.

Ce code est le script jQuery qui ajoutera un effet de défilement fluide à un bouton qui amène les utilisateurs/utilisatrices en haut de la page.

La prochaine chose à faire est de charger le fichier smoothscroll.js dans votre thème. Pour ce faire, nous allons mettre le script en file d’attente dans WordPress.

Ensuite, il vous suffit de copier et de coller ce code dans le fichier functions.php de votre thème. Nous ne recommandons pas de modifier directement les fichiers du thème car la moindre erreur peut casser votre site. À la place, vous pouvez utiliser une extension comme WPCode et suivre notre module sur la façon d’ajouter des extraits de code personnalisés dans WordPress.

wp_enqueue_script( 'smoothup', get_template_directory_uri() . '/js/smoothscroll.js', array( 'jquery' ), '',  true );

Dans le code ci-dessus, nous avons demandé à WordPress de charger notre script ainsi que la bibliothèque jQuery puisque notre extension en dépend.

Maintenant que nous avons ajouté la partie jQuery, ajoutons un lien réel à notre site WordPress qui ramène les utilisateurs/utilisatrices en haut de page. Collez simplement ce HTML n’importe où dans le fichier footer.php de votre thème. Si vous avez besoin d’aide, Veuillez consulter notre tutoriel sur l ‘ajout de code d’en-tête et de pied de page dans WordPress.

<a href="#top" id="smoothup" title="Back to top"></a>

Vous avez peut-être remarqué que le code HTML comporte un lien mais pas de texte d’ancrage. C’est parce que nous allons utiliser une icône d’image avec une flèche vers le haut pour afficher un bouton de retour en haut de page.

Dans cet exemple, nous utilisons une icône de 40x40px. Il suffit d’ajouter le CSS personnalisé ci-dessous à la feuille de style de votre thème.

Dans ce code, nous utilisons une icône d’image comme image d’arrière-plan du bouton et nous la définissons dans une position corrigée. Nous avons également ajouté une petite animation CSS qui fait pivoter le bouton lorsque l’utilisateur survole le bouton avec sa souris.

#smoothup {
height: 40px;
width: 40px;
position:fixed;
bottom:50px;
right:100px;
text-indent:-9999px;
display:none;
background: url("https://www.example.com/wp-content/uploads/2013/07/top_icon.png");
-webkit-transition-duration: 0.4s;
-moz-transition-duration: 0.4s; transition-duration: 0.4s;
}

#smoothup:hover {
-webkit-transform: rotate(360deg) }
background: url('') no-repeat;
}

Dans le CSS ci-dessus, assurez-vous de remplacer https://www.example.com/wp-content/uploads/2013/07/top_icon.png par l'URL de l'image que vous souhaitez utiliser. Vous pouvez téléverser votre propre icône d’image en utilisant l’outil de téléversement des médias de WordPress, copier l’URL de l’image, puis la coller dans le code.

Nous espérons que cet article vous a aidé à ajouter un effet de défilement fluide vers le haut sur votre site en utilisant jQuery. Vous pouvez également consulter notre choix d’experts des meilleures extensions WordPress pour les petites entreprises et notre guide étape par étape sur la façon de démarrer un magasin en ligne.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Divulgation : Notre contenu est soutenu par les lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons gagner une commission. Consultez comment WPBeginner est financé, pourquoi cela compte et comment vous pouvez nous soutenir. Voici notre processus éditorial.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

L'ultime WordPress Toolkit

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tous les professionnels devraient avoir !

Reader Interactions

24 commentairesLaisser une réponse

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Jiří Vaněk says

    Previously, I didn’t have a ‘back to top’ button on the page, but as my articles became longer and longer, I didn’t want users to spend several seconds scrolling. I started using this exact plugin, and it’s fantastic. It significantly enhances user comfort, even though at first glance it might seem unnecessary. It isn’t.

  3. Marco says

    The Jquery method didn’t work for me using a Twenty-seventeen child theme. Oh well. The hyperlink version did work perfectly, thankfully, and it’s good enough for me.

    • Marco says

      One question…could one reason why this is not working for me (the jquery method) be because my WordPress installation is in a subfolder? It’s the only reason I can think of.

  4. Taffeltrast says

    Would love this, but it break the footer.php. The footer simply does not load.

    When i try ad it to footer.php i get « There is a syntax error on line 14. etc etc », and when i try upload it anyway, the footer does not load.

  5. oliver says

    thanks a lot, simple and effective.
    my two cents, if you allready have a custom.js file in your theme you can simply add the jquery function in this file instead of creating a new file and enqueue again.

    Personnally i prefer to have all my small scripts in one file.

  6. Stuart says

    Child Theme Designed by Blank |

    <?php }
    add_action('wp_head', 'my_favicon');

    What am I doing wrong ? This is my funtions.php new to wp_enqueue_scripts.

  7. Stuart says

    Twenty Fifteen-Child Theme made a Js folder added all the wp_enqueue_script but no dice not sure what went wrong. I want to use less plugins as possible they seem to slow WordPress sites down. Added A favicon perfect wp_enqueue_script kind of new to me. Any help?

  8. Donald says

    Hi, does this still work? The icon appears (if I temporarily change the CSS to display:block), the script shows up as loaded in the Firefoxe developers’ toolbox console. However I get the following error message for line 1:

    ‘SyntaxError: missing ; before statement’

    I’ve copied the script as above:

    01 jQuery(document).ready(function($){
    02 $(window).scroll(function(){
    03 if ($(this).scrollTop() < 200) {
    04 $('#smoothup') .fadeOut();
    05 } else {
    06 $('#smoothup') .fadeIn();
    07 }
    08 });
    09 $('#smoothup').on('click', function(){
    10 $('html, body').animate({scrollTop:0}, 'fast');
    11 return false;
    12 });
    13 });

    Can anyone see what the problem might be?
    Donald

  9. jaybob says

    Hi, its working fine. Thank you for the tutorial but i only have just one problem, the image appears to quick. can i do something to appear later / a little bit down, after scrolling?

  10. Aaron says

    This is a very clean way to pull this off. By far my favorite I’ve found.

    Quick question… I have put it in my footer.php file… How can I get it to stop sticking at a certain point? For example, I have a footer that is 575px tall and I don’t want the icon going into that area. Basically stop the fixed position at say, 600px from the bottom of the page.

  11. emanuele says

    Hi,
    is possible to add smooth scroll in menu for scroll page?…i have create a one page template and i want to scroll it by menu…thank you

    • StefsterNYC says

      If I understand you correctly you want to add it to the main menu nav? Correct? Simply use the same selector name but change the css completely. So that the image won’t appear.
      Make sense?

  12. Paul says

    Thanks à lot for this tip ! However I’ve got a problem. When I reduce the size of the screen, my arrow go away while I want it in a specific place.

    Is there a way to fix that ?

    Thanks

    Paul

    • Paul says

      I found a solution for my problem. I just had to change my css to :

      #smoothup {
      top: 572px;
      left: auto;
      margin-left: -68px;
      }

  13. Steven Wolock says

    Thanks for this! It works great.

    Question: Is that closed bracket correct after -webkit-transform: rotate(360deg)?

    • WPBeginner Support says

      There could be any possible reasons. First make sure you have uploaded the image, then check that the background: url has the correct URL and that it leads to your image. Lastly check that jquery and your .js file is loaded. Lastly, try tweaking CSS values for display, position, and text-indent.

      Administrateur

    • etech0 says

      I figured it out – I had to change the 40px height and width to conform with my image.
      Thanks for a great tutorial!

Laisser une réponse

Merci d'avoir choisi de laisser un commentaire. Veuillez garder à l'esprit que tous les commentaires sont modérés selon notre politique de commentaires, et votre adresse e-mail ne sera PAS publiée. Veuillez NE PAS utiliser de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.