Maison interface Web Questions et réponses frontales Comment réparer l'en-tête dans jquery

Comment réparer l'en-tête dans jquery

May 28, 2023 pm 12:17 PM

jQuery est une bibliothèque JavaScript largement utilisée qui facilite la manipulation dynamique des pages Web. Les tableaux sont un composant commun dans de nombreuses applications Web. Cependant, lorsque le tableau est trop long, les utilisateurs peuvent avoir besoin de le faire défiler pour afficher le contenu et l'en-tête disparaît du haut de l'écran. Pour rendre le tableau plus facile à utiliser, vous pouvez utiliser jQuery pour épingler l'en-tête en haut de l'écran afin qu'il soit toujours visible. Dans cet article, nous expliquerons comment utiliser jQuery pour corriger l'en-tête.

1. Préparez le tableau

Tout d'abord, vous devez préparer un document HTML contenant le tableau. Voici un exemple de formulaire simple :

Nom Téléphone E-mail
Zhang San 1234567890 zhangsan@example.com
John Doe 0987654321 lisi@example.com
王五 4567891230 wangwu@example.com
  1. Ajouter des styles CSS

Ensuite, vous devez ajouter des styles CSS pour que le tableau ressemble et se comporte comme votre site Web ou votre application. Vous pouvez utiliser les styles suivants comme point de départ et les modifier selon vos besoins :

table {
width : 100% ;
border-collapse : collapse}

th, td {

padding : 8px ; : left ;
border-bottom: 1px solid #ddd;
}

th {

background-color: #f2f2f2;

}

tbody {

height: 300px;

overflow-y: scroll;
display: block;
}

Obtenir l'en-tête
  1. Afin de corriger l'en-tête, vous devez d'abord obtenir la référence de l'en-tête. Vous pouvez obtenir l'en-tête du tableau en utilisant le code suivant :

var $table = $('table');

var $thead = $table.find('thead'); th' );



Obtenir le corps de la table

  1. Ensuite, vous devez obtenir une référence au corps de la table. Afin de maintenir l'en-tête et le corps du tableau alignés, vous devez rendre le corps du tableau défilant et l'afficher en tant qu'élément de niveau bloc. Vous pouvez obtenir le corps du tableau en utilisant le code suivant :
var $tbody = $table.find('tbody');

$tbody.css('display', 'block');

$tbody.css('height ', '300px');

$tbody.css('overflow-y', 'scroll');


Créer un nouveau tableau

  1. Vous devez maintenant créer un nouveau tableau pour contenir l'en-tête et le corps obtenus précédemment . Vous pouvez créer une nouvelle table en utilisant le code suivant :
var $new_table = $('');

var $new_thead = $('

');

$new_table.append($new_thead

var $new_tr = $('

');
$new_thead.append($new_tr);


Copier les cellules d'en-tête

  1. Ensuite, vous devez copier chaque cellule dans l'en-tête et ajouter à la première ligne du nouveau tableau. Vous pouvez le faire en utilisant le code suivant :
$th.each(function() {

var $clone = $(this).clone();

$new_tr.append($clone);

});


Insérer une nouvelle table dans le DOM

  1. Enfin, vous devez insérer la nouvelle table dans le DOM avant la table d'origine. Vous pouvez le faire en utilisant le code suivant :
$new_table.insertBefore($table);

En-tête fixe

  1. Vous avez maintenant créé une nouvelle table avec un en-tête fixe et l'avez insérée dans le DOM. Cependant, lorsque l'utilisateur fait défiler l'écran, l'en-tête défile toujours hors de vue. Pour corriger l'en-tête, vous pouvez ajuster la position de l'en-tête en fonction du décalage de défilement lorsqu'un événement de défilement se produit. Vous pouvez utiliser le code suivant pour réaliser cette fonction :
$(window).scroll(function() {

var scroll_top = $(this).scrollTop();

var table_top = $table.offset().top;

if (scroll_top > table_top) {

$thead.css('position', 'fixed');
$thead.css('top', 0);

} else {
$thead.css('position', 'static');
$thead.css('top', '');

}

});

Ce code sera déclenché lorsque la fenêtre défile et définira la position de l'en-tête du tableau sur fixe ou statique en fonction du décalage de défilement . Si le décalage de défilement est supérieur au décalage en haut du tableau, définissez l'en-tête sur fixe. Sinon, définissez l'en-tête sur statique.

À ce stade, vous avez réussi à corriger l'en-tête. Au fur et à mesure que l'utilisateur fait défiler, l'en-tête restera en haut de l'écran et se déplacera avec le défilement. Avec cette astuce simple, vous pouvez facilement améliorer la convivialité et l’accessibilité de votre application Web.

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

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.

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)

Sujets chauds

Tutoriel PHP
1543
276
Rendu côté serveur avec next.js expliquée Rendu côté serveur avec next.js expliquée Jul 23, 2025 am 01:39 AM

Server-sideredering (ssr) innext.jsgenerateshtmlONTheServerForEachRequest, ImpromingPerformanceAndSeo.1.SSRISIDEALFORDYNYMICCONTENTTHATCHANGESSFREQUENDEM

Une plongée profonde dans WebAssembly (WASM) pour les développeurs frontaux Une plongée profonde dans WebAssembly (WASM) pour les développeurs frontaux Jul 27, 2025 am 12:32 AM

WebAssembly (WASM) isagame-changerforfront-enddeveloperseeekinghigh-performancewebapplications.1.wasmisabinaryinstructionFormatThatrunsatNear-Nativespeed, AmatingLanguagesLikerUst, C, etgotoexeteinthebrowser.2

Performance-First State Management avec Zustand Performance-First State Management avec Zustand Jul 25, 2025 am 04:32 AM

Zustandisalightweight, PerformantStateManAgmentSolutionForRECTAppsthatavoidSredux’sboilerplate; 1.UseselectaStaTingTopreventunneceSaryre-RederselectingonlyTheneedStateProperty; 2.Apply CreateWithEam

Quel est le but de l'attribut REL dans une balise de liaison dans HTML? Quel est le but de l'attribut REL dans une balise de liaison dans HTML? Aug 03, 2025 pm 04:50 PM

rel = "Stylesheet" linkSsssFilesForSTylingThepage; 2.rel = "Preload" HintstopreloadCriticalResourcesForPerformance; 3.rel = "icon" setthewebsite’sfaviCon; 4.rel = "alternate" fournit la réversion desstiètes; 5.rel = & Qu

Optimisation du temps de construction du frontend Optimisation du temps de construction du frontend Jul 23, 2025 am 03:37 AM

Le cœur de l'optimisation du temps de construction frontal consiste à réduire les travaux redondants, à améliorer l'efficacité du traitement, à utiliser les caches et à sélectionner des outils efficaces. 1. Utilisez raisonnablement le treehaking et la segmentation du code pour vous assurer qu'il est introduit à la demande et que l'importation dynamique réduit le volume d'emballage; 2. Réduire le traitement inutile du chargeur, exclure Node_modules, mettre à niveau les chargeurs et détendre la portée de la traduction de Babel; 3. Utilisez le mécanisme de mise en cache pour accélérer la construction répétée, activer le cache Webpack, le cache CI et utiliser une installation hors ligne; 4. Amélioration de la chaîne d'outils, comme l'utilisation de Vite, Esbuild ou Rollup pour améliorer la vitesse de construction, bien qu'il y ait un coût de migration, il a un effet significatif.

Quel est le but de l'attribut cible de la balise d'ancrage dans HTML? Quel est le but de l'attribut cible de la balise d'ancrage dans HTML? Aug 02, 2025 pm 02:23 PM

ThetargetAttributeinanhtmlanchortagspecifieswheretoopenthelinkedDocument.1._setropensthelinkinthesametab (par défaut) .2._blankopensthelinkinanewtaborwindow.3._parentopensthelinkintheparentframe.

Comprendre et mettre en œuvre OAuth 2.0 sur le front-end Comprendre et mettre en œuvre OAuth 2.0 sur le front-end Jul 25, 2025 am 04:31 AM

Lorsque vous utilisez OAuth 2.0, le processus de code d'autorisation PKCE doit être adopté à la place du processus implicite, évitez de stocker des jetons dans LocalStorage à l'avant, la priorité est donnée au traitement des jetons de rafraîchissement à travers le dos et une intégration sécurisée est obtenue à l'aide d'une bibliothèque d'authentification de confiance pour garantir la sécurité des applications frontales.

Bibliothèques de matériaux et composants angulaires Bibliothèques de matériaux et composants angulaires Jul 23, 2025 am 01:17 AM

Comment commencer avec AngularMaterial? Exécutez d'abord NGADD @ Angular / Material pour installer et configurer, deuxièmement, introduire des composants tels que MatbuttonModule au besoin, puis importer et utiliser des composants dans le module, et enfin ajouter des styles et des polices globales; Les avantages de la matériau angulaire comprennent un langage de conception unifié, des composants riches, une bonne documentation et un soutien communautaire et une forte personnalisation; D'autres alternatives incluent Ng-Zorro, Primeng, ClarityDesign et IonicForangular, et lors du choix, vous devriez considérer de manière globale en fonction des besoins du projet et de la familiarité de l'équipe.

See all articles