


Une méthode d'implémentation pour allouer automatiquement les largeurs de colonnes dans les tableaux de données
La table de données Layui alloue automatiquement les rendus de largeur de colonne :
Scénarios applicables :
Résout principalement le problème des espaces vides et vides à la fin du tableau après la modification de la taille de la fenêtre. Problème de barre de défilement
-La fenêtre passe de petite à grande et la dernière colonne du tableau apparaît vide
La fenêtre passe de grande à petite, et la barre de défilement horizontale apparaît
Recharger Retour à la normale après le cadre
Prérequis d'utilisation :
-L'en-tête de chaque colonne doit être réglé sur minWidth (jugement basé sur l'attribut minWidth)
-Utilisez-le par vous-même
-La page ne peut avoir qu'un seul tableau de données si vous. avoir plusieurs tables de données, vous devez modifier le code vous-même (juger la table, obtenir le nombre de colonnes, etc.)
Étapes spécifiques :
-Écouter les événements de changement de taille de fenêtre
var resizeTimer; $(window).resize(function () { if (resizeTimer) { clearTimeout(resizeTimer); } resizeTimer = setTimeout(function () { resizeTimer = null; dstributionColumnWidth(); }, 200); }); /* 经过测试发现,当窗口大小改变之后,这个方法会调用多次 所以需要使用clearTimeout方法取消由 setTimeout() 方法设置的 timeout 也就是说每一次调用后200毫秒内的下一次调用都会取消上一次的调用 这样可以大概率保证最终只执行一次 如果还是不行就把200调大点比如500 当然值越小,给人的感觉越流畅 */
Obtenez la largeur, le nombre de colonnes et trouvez la largeur moyenne des colonnes de la table
// 表格宽度 var tabWidth = $(".layui-table-header").width(); // 列数 var colNum = $("tr").eq(0).find("th").length; // 平均列宽 var avgWidth = tabWidth / colNum; /* 求宽度和列宽的方式比较简单,也不知道有没有通用性(水平所限), 自己使用没有问题,如果大家拿不到值的话就根据自己的情况写代码拿到相应的值就行了, 当然要是有更好更优雅的方法也一定要留言告诉我 */
Obtenez le champ de données de chaque colonne et la valeur de l'attribut data-minwidth et encapsulez-le comme un objet et triez-le de grand à petit en fonction de la valeur de data-minwidth
/** * 列对象 * @param index 所在列在当前行中的索引位置(没用上可以不要) * @param name 对应表头中设置的field * @param minWidth 对象表头中的minWidth * @param width 最终的宽度 * @constructor */ function Column(index, name, minWidth, width) { this.index = index; this.name = name; this.minWidth = minWidth; this.width = width; } // 获取参数封装对象 if (cols === undefined) { cols = $("tr").eq(0).find("th").map(function (index, item) { var col = new Column(index, $(this).attr("data-field"), $(this).attr("data-minwidth")); return col; }); // 排序 cols.sort(function (a, b) { return b["minWidth"] - a["minWidth"]; }); } /** * 计算列宽 * @param columns column对象数组 * @param colNum 列数 * @param tabWidth 表格宽度 * @param avgWidth 平均宽度 */ function calculateColumnWidth(columns, colNum, tabWidth, avgWidth) { // 是否显示表格横向滚动条 showOverflowX = false; // 是否完成比较 var isComplete = false; for (var i = 0; i < columns.length; i++) { var column = columns[i]; // 如果计算出的平均列宽比最大的minWidth还要大,那么剩下的就不用比较了,直接赋值即可 if (column["minWidth"] <= avgWidth || isComplete) { column["width"] = parseInt(avgWidth); isComplete = true; } else { /* 如果minWidth > 平均列宽,那么就用表格宽度减去minWidth 然后除以列数-1,重新求平均列宽 */ column["width"] = column["minWidth"]; tabWidth -= column["minWidth"]; colNum -= 1; avgWidth = tabWidth / colNum; // 如果最后一列时,平均列宽大于最小列宽,说明当前页面的宽度足够显示表格,就可以隐藏横向滚动条,反之则需要显示滚动条 if (i == columns.length - 1) { showOverflowX = true; } } } }
Définissez la largeur de la cellule et définissez la barre de défilement
// 这里是根据名称查找相应的th、td标签,可能有更好的方法,欢迎留言 for (var i = 0; i < cols.length; i++) { var col = cols[i]; var width = cols[i].width; $("[data-field='" + cols[i]["name"] + "']").each(function () { // 实际修改的是th、td下的div标签 // 我使用的是动画的方式,也可以选择直接赋值 $(this).children().eq(0).animate({width: width}, 200); }) } // 根据showOverflowX的值判断是否需要显示滚动条 if (showOverflowX) { $('.layui-table-body').css({"overflow-x": "auto"}); } else { $('.layui-table-body').css({"overflow-x": "hidden"}); }
Terminé !
Code complet
var cols, showOverflowX; /** * 列对象 * @param index 所在列在当前行中的索引位置(没用上可以不要) * @param name 对应表头中设置的field * @param minWidth 对象表头中的minWidth * @param width 最终的宽度 * @constructor */ function Column(index, name, minWidth, width) { this.index = index; this.name = name; this.minWidth = minWidth; this.width = width; } /** * 计算列宽 * @param columns column对象数组 * @param colNum 列数 * @param tabWidth 表格宽度 * @param avgWidth 平均宽度 */ function calculateColumnWidth(columns, colNum, tabWidth, avgWidth) { showOverflowX = false; var isComplete = false; for (var i = 0; i < columns.length; i++) { var column = columns[i]; if (column["minWidth"] <= avgWidth || isComplete) { column["width"] = parseInt(avgWidth); isComplete = true; } else { column["width"] = column["minWidth"]; tabWidth -= column["minWidth"]; colNum -= 1; avgWidth = tabWidth / colNum; if (i == columns.length - 1) { showOverflowX = true; } } } } /** * 分配列宽 */ function dstributionColumnWidth() { // 表格宽度 var tabWidth = $(".layui-table-header").width(); // 列数 var colNum = $("tr").eq(0).find("th").length; // 平均列宽 var avgWidth = tabWidth / colNum; if (cols === undefined) { cols = $("tr").eq(0).find("th").map(function (index, item) { var col = new Column(index, $(this).attr("data-field"), $(this).attr("data-minwidth")); return col; }); cols.sort(function (a, b) { return b["minWidth"] - a["minWidth"]; }); } calculateColumnWidth(cols, colNum, tabWidth, avgWidth); for (var i = 0; i < cols.length; i++) { var col = cols[i]; var width = cols[i].width; $("[data-field='" + cols[i]["name"] + "']").each(function () { $(this).children().eq(0).animate({width: width}, 200); }) } if (showOverflowX) { $('.layui-table-body').css({"overflow-x": "auto"}); } else { $('.layui-table-body').css({"overflow-x": "hidden"}); } } var resizeTimer; $(window).resize(function () { if (resizeTimer) { clearTimeout(resizeTimer); } resizeTimer = setTimeout(function () { resizeTimer = null; dstributionColumnWidth(); }, 200); });
Méthode d'utilisation
layui.config({ // 放到这个目录里 base: '/static/js/extend/' }).extend({formSelects: 'formSelects-v4.min'}); // 这里 layui.use(['table', 'element', 'layer', 'jquery', 'form', 'formSelects', 'tools', 'autoColumnWidth'], function () { var table = layui.table, element = layui.element, layer = layui.layer, $ = layui.$, form = layui.form, formSelects = layui.formSelects, tools = layui.tools, // 这里 autoColumnWidth = layui.autoColumnWidth;
Puis appelez
autoColumnWidth.resize();
ps : Le code de surveillance de la taille de la fenêtre doit encore être écrit par vous-même
Si vous souhaitez allouer des largeurs de colonnes après le chargement de la table de données, vous pouvez l'écrire dans le rappel de done
done: function () { autoColumnWidth.resize(); }
Recommandé : Tutoriel d'utilisation de Laui
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

1. Créez un nouveau fichier PPT et nommez-le [Conseils PPT] à titre d'exemple. 2. Double-cliquez sur [Conseils PPT] pour ouvrir le fichier PPT. 3. Insérez un tableau avec deux lignes et deux colonnes à titre d'exemple. 4. Double-cliquez sur la bordure du tableau et l'option [Conception] apparaîtra dans la barre d'outils supérieure. 5. Cliquez sur l'option [Ombrage] et cliquez sur [Image]. 6. Cliquez sur [Image] pour faire apparaître la boîte de dialogue des options de remplissage avec l'image comme arrière-plan. 7. Recherchez le bac que vous souhaitez insérer dans le répertoire et cliquez sur OK pour insérer l'image. 8. Cliquez avec le bouton droit sur la zone de tableau pour afficher la boîte de dialogue des paramètres. 9. Cliquez sur [Formater les cellules] et cochez [Carreler les images en ombrage]. 10. Définissez [Centre], [Miroir] et les autres fonctions dont vous avez besoin, puis cliquez sur OK. Remarque : Par défaut, les images doivent être remplies dans le tableau.

1. Ouvrez la feuille de calcul et recherchez le bouton [Démarrer]-[Formatage conditionnel]. 2. Cliquez sur Sélection de colonne et sélectionnez la colonne à laquelle la mise en forme conditionnelle sera ajoutée. 3. Cliquez sur le bouton [Formatage conditionnel] pour afficher le menu d'options. 4. Sélectionnez [Mettre en surbrillance les règles conditionnelles]-[Entre]. 5. Remplissez les règles : 20, 24, texte vert foncé avec une couleur de remplissage sombre. 6. Après confirmation, les données de la colonne sélectionnée seront colorées avec les chiffres, le texte et les zones de cellules correspondants en fonction des paramètres. 7. Des règles conditionnelles sans conflits peuvent être ajoutées à plusieurs reprises, mais pour les règles conflictuelles, WPS remplacera les règles conditionnelles précédemment établies par la dernière règle ajoutée. 8. Ajoutez à plusieurs reprises les colonnes de cellules après les règles [Entre] 20 à 24 et [Moins de] 20. 9. Si vous devez modifier les règles, vous pouvez simplement les effacer, puis les réinitialiser.

layui fournit diverses méthodes pour obtenir des données de formulaire, notamment l'obtention directe de toutes les données de champ du formulaire, l'obtention de la valeur d'un seul élément de formulaire, l'utilisation de la méthode formAPI.getVal() pour obtenir la valeur de champ spécifiée, la sérialisation des données de formulaire et en l'utilisant comme paramètre de requête AJAX et en écoutant l'événement de soumission de formulaire, vous obtenez des données.

Étapes de configuration du saut de la page de connexion Layui : Ajouter un code de saut : ajoutez un jugement dans l'événement de clic sur le bouton de soumission du formulaire de connexion et accédez à la page spécifiée via window.location.href après une connexion réussie. Modifiez la configuration du formulaire : ajoutez un champ de saisie masqué à l'élément de formulaire de lay-filter="login", avec le nom "redirect" et la valeur étant l'adresse de la page cible.

Parfois, nous rencontrons souvent des problèmes de comptage dans les tableaux Word. Généralement, lorsqu'ils rencontrent de tels problèmes, la plupart des étudiants copient le tableau Word dans Excel pour le calcul ; certains étudiants prennent silencieusement la calculatrice. Existe-t-il un moyen rapide de le calculer ? Bien sûr, la somme peut également être calculée dans Word. Alors, savez-vous comment faire ? Aujourd’hui, jetons un coup d’œil ensemble ! Sans plus attendre, les amis dans le besoin devraient rapidement le récupérer ! Détails de l'étape : 1. Tout d'abord, nous ouvrons le logiciel Word sur l'ordinateur et ouvrons le document qui doit être traité. (Comme le montre l'image) 2. Ensuite, nous plaçons le curseur sur la cellule où se trouve la valeur additionnée (comme le montre l'image), puis nous cliquons sur [Barre de menu) ;

Nous créons et éditons souvent des tableaux dans Excel, mais en tant que novice qui vient d'entrer en contact avec le logiciel, comment utiliser Excel pour créer des tableaux n'est pas aussi simple que pour nous. Ci-dessous, nous réaliserons quelques exercices sur certaines étapes de création de tables que les novices, c'est-à-dire les débutants, doivent maîtriser. Nous espérons que cela sera utile à ceux qui en ont besoin. Un exemple de formulaire pour les débutants est présenté ci-dessous : voyons comment le remplir ! 1. Il existe deux méthodes pour créer un nouveau document Excel. Vous pouvez cliquer avec le bouton droit de la souris sur un emplacement vide du fichier [Bureau] - [Nouveau] - [xls]. Vous pouvez également [Démarrer]-[Tous les programmes]-[Microsoft Office]-[Microsoft Excel 20**] 2. Double-cliquez sur notre nouvel ex

Une mise en page adaptative peut être obtenue en utilisant la fonction de mise en page réactive du framework layui. Les étapes comprennent : le référencement du framework layui. Définissez un conteneur de mise en page adaptatif et définissez la classe layui-container. Utilisez des points d'arrêt réactifs (xs/sm/md/lg) pour masquer des éléments sous des points d'arrêt spécifiques. Spécifiez la largeur de l'élément à l'aide du système de grille (layui-col-). Créez un espacement via le décalage (layui-offset-). Utilisez des utilitaires réactifs (layui-invisible/show/block/inline) pour contrôler la visibilité des éléments et leur apparence.

La différence entre layui et Vue se reflète principalement dans les fonctions et les préoccupations. Layui se concentre sur le développement rapide d'éléments d'interface utilisateur et fournit des composants préfabriqués pour simplifier la construction de pages ; Vue est un framework full-stack qui se concentre sur la liaison de données, le développement de composants et la gestion d'état, et est plus adapté à la création d'applications complexes. Layui est facile à apprendre et convient pour créer rapidement des pages ; Vue a une courbe d'apprentissage abrupte mais permet de créer des applications évolutives et faciles à entretenir. En fonction des besoins du projet et du niveau de compétence du développeur, le cadre approprié peut être sélectionné.
