Home > Web Front-end > CSS Tutorial > How to Convert Numerical Ratings into Star Displays Using jQuery and CSS?

How to Convert Numerical Ratings into Star Displays Using jQuery and CSS?

Barbara Streisand
Release: 2024-12-10 10:37:10
Original
421 people have browsed it

How to Convert Numerical Ratings into Star Displays Using jQuery and CSS?

Transforming Numerical Ratings into Star Display Using jQuery and CSS

This question aims to convert a given numerical rating into a star rating system with a maximum of 5 stars. Leveraging the power of jQuery, CSS, and images, we can achieve this visual representation efficiently.

CSS Implementation

Create two CSS styles for the star elements:

span.stars, span.stars span {
    display: block;
    width: 80px;
    height: 16px;
}

span.stars span {
    background-position: 0 0;
}
Copy after login

These styles define block-level spans with an initial width and height for displaying the stars.

Image Resource

Obtain a suitable star image with a width representing the maximum rating (in this case, 5). Ensure it features two distinct sections: the background stars and the actual star ratings.

jQuery Implementation

Define a jQuery plugin called stars:

$.fn.stars = function() {
    return $(this).each(function() {
        var val = parseFloat($(this).html());
        var size = Math.max(0, (Math.min(5, val))) * 16;
        var $span = $('<span />').width(size);
        $(this).html($span);
    });
}
Copy after login

This plugin iterates through the selected elements, extracts the numerical rating, and generates a span element with a width proportionate to the desired rating. It replaces the original numerical value with the star representation.

HTML Usage

In your HTML, apply the stars class to the elements containing the numerical ratings.

<span class="stars">3.8</span>
Copy after login

Usage

Call the stars plugin after the DOM is ready:

$(function() {
    $('span.stars').stars();
});
Copy after login

Output

The result will be a visual representation of the numerical ratings using the provided star image. By adjusting the rating value, you can dynamically update the star display.

Additional Notes

For accessibility purposes, it's advisable to include the numerical value as hidden text or via alternative means, ensuring accessibility for users with CSS disabled.

The above is the detailed content of How to Convert Numerical Ratings into Star Displays Using jQuery and CSS?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template