recherche
Maisoninterface Webtutoriel CSSComment convertir des notes numériques en notes par étoiles à l'aide de jQuery et CSS ?

How to Convert Numeric Ratings to Star Ratings Using jQuery and CSS?

Conversion de nombres en notes par étoiles : une solution polyvalente utilisant jQuery et CSS

Lors de la conception d'interfaces utilisateur, il devient souvent nécessaire de représenter des notes numériques à l'aide d'étoiles. Malgré la disponibilité des plugins jQuery, adapter ces plugins pour afficher des notes par étoiles basées sur un nombre donné peut être une tâche difficile. Cet article explore une solution robuste à ce défi, en utilisant une combinaison de CSS, jQuery et une image prédéfinie.

Définition CSS

Pour styliser les notes par étoiles, les règles CSS suivantes sont employé :

span.stars, span.stars span {
    display: block;
    background: url(stars.png) 0 -16px repeat-x;
    width: 80px;
    height: 16px;
}

span.stars span {
    background-position: 0 0;
}

Dans ce bloc CSS, la durée externe (span.stars) agit comme un conteneur pour les étoiles individuelles (span.stars span). Les deux éléments sont définis en tant qu'éléments de niveau bloc et reçoivent une image d'arrière-plan stars.png avec des décalages et des modèles de répétition spécifiques.

Exigences relatives à l'image

Le fichier image, stars.png, sert de sprite qui contient des images d'étoiles jaunes (remplies) et grises (vides). Cette image doit être stockée sur le serveur de l'utilisateur ; la création de liens vers l'image fournie n'est pas recommandée.

Implémentation de jQuery

La fonctionnalité de base est implémentée à l'aide d'un plugin jQuery nommé $.fn.stars. Ce plugin parcourt chaque élément avec les étoiles de classe et convertit son contenu numérique en un affichage de classement par étoiles. Le calcul détermine la largeur des étoiles jaunes en fonction du nombre donné, garantissant une représentation proportionnelle.

$.fn.stars = function() {
    return $(this).each(function() {
        // Get the value
        var val = parseFloat($(this).html());
        // Make sure that the value is in 0 - 5 range, multiply to get width
        var size = Math.max(0, (Math.min(5, val))) * 16;
        // Create stars holder
        var $span = $('<span></span>').width(size);
        // Replace the numerical value with stars
        $(this).html($span);
    });
}

Utilisation HTML

Pour utiliser ce plugin, appliquez simplement les étoiles de classe aux travées contenant les notes numériques.

<span class="stars">4.8618164</span>
<span class="stars">2.6545344</span>
<span class="stars">0.5355</span>
<span class="stars">8</span>

Invocation

Déclenchez le plugin en utilisant ce qui suit code :

$(function() {
    $('span.stars').stars();
});

Considérations sur l'accessibilité

Pour garantir l'accessibilité, il est recommandé de conserver la valeur numérique d'origine dans l'élément span mais de la masquer visuellement à l'aide de text-indent: -9999px. Cette approche permet aux lecteurs d'écran et aux utilisateurs dont CSS est désactivé d'accéder aux données sous-jacentes.

Conclusion

Cette solution convertit efficacement les notes numériques en notes par étoiles à l'aide de jQuery et CSS, ce qui en fait un outil polyvalent d'affichage. évaluations et commentaires des utilisateurs dans diverses applications 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
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
Comment nous avons tagué Google Fonts et créé des goofont.comComment nous avons tagué Google Fonts et créé des goofont.comApr 12, 2025 pm 12:02 PM

Goofonts est un projet parallèle signé par un développeur-femme et un concepteur-mari, tous deux de grands fans de typographie. Nous avons marqué Google

Articles de développement Web intemporelsArticles de développement Web intemporelsApr 12, 2025 am 11:44 AM

Pavithra Kodmad a demandé aux gens des recommandations sur ce qu'ils pensaient être certains des articles les plus intemporels sur le développement Web qui ont changé

L'accord avec l'élément de sectionL'accord avec l'élément de sectionApr 12, 2025 am 11:39 AM

Deux articles ont publié exactement le même jour:

Pratiquez des requêtes GraphQL avec l'API de l'état de JavaScriptPratiquez des requêtes GraphQL avec l'API de l'état de JavaScriptApr 12, 2025 am 11:33 AM

Apprendre à créer des API GraphQL peut être assez difficile. Mais vous pouvez apprendre à utiliser les API GraphQL en 10 minutes! Et il se trouve que je suis parfait

CMSS au niveau des composantsCMSS au niveau des composantsApr 12, 2025 am 11:09 AM

Lorsqu'un composant vit dans un environnement où les données interrogent les données qui vivent à proximité, il y a une ligne assez directe entre le composant visuel et le

Définissez le type sur un cercle ... avec chemin de décalageDéfinissez le type sur un cercle ... avec chemin de décalageApr 12, 2025 am 11:00 AM

Ici, une rotation CSS légitime de Yuanchuan. Il y a ce chemin de décalage de la propriété CSS. Il était une fois, il s'appelait le chemin de mouvement, puis il a été renommé. je

What does "revert" do in CSS?What does "revert" do in CSS?Apr 12, 2025 am 10:59 AM

Miriam Suzanne explique dans une vidéo de développeur de Mozilla sur le sujet.

Les amoureux modernesLes amoureux modernesApr 12, 2025 am 10:58 AM

J'adore les trucs comme ça.

See all articles

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 semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

DVWA

DVWA

Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser