Interactive Rating Component using HTML, CSS, bootstrap and jQuery
Design comparison
Solution retrospective
I learned to use JavaScript for DOM manipulation. I learned some new CSS properties like letter spacing which I used in the "submit" button. I also worked on using more standard units like "rem" and "%". In this project, I made use of some inline styles and did the rest in my stylesheet. Basically the frustrating part of this project was determining the exact color of the rating buttons(I had to go through some people's project to get the color, it was different from what was provided in the challenge style-guide.md). This is my first time using JavaScript/jQuery on my own without my tutor's guidance, so I'm proud of what I did. I also put a default rating in situations whereby the client didn't choose any value.
Community feedback
- @nicodes-devPosted about 2 years ago
Hi! I have a few suggestions for your solution.
-
In this challenge it is not bad to add a default rating if the user didn't select a rating and clicked submit but I think it is better if you'll add a simple validation that won't allow the user to submit it without selecting a rating or you can also add an error message that tells the user that they haven't selected a rating before clicking submit.
-
I notice that in your media query, you use a max-width of 375px. Is this intended to only be displayed on a mobile device? If not, maybe you can try to make it responsive with adding more media query. I suggest that you use a min-width of 320px or 360px and just add a max-width on your parent container so it won't stretch too much.
-
The active class is not working properly, the background color and color only apply after selecting another button and it also allow multiple ratings to get an active class. You can use a loop to check whether your button should have an active class. You should use addClass and removeClass instead of toggleClass for this to work.
Marked as helpful0 -
- @Zsollt88Posted about 2 years ago
Hi!
Nice solution!
After awhile there is some issue regarding the buttons' color-changing.
You can use :focus pseudo class in buttons instead of your animate function.
I hope it will be useful.
Marked as helpful0@LooceePosted about 2 years ago@Zsollt88 Thanks the :focus pseudo class was really helpful and it worked. Thanks a lot.
0
Please log in to post a comment
Log in with GitHubJoin our Discord community
Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!
Join our Discord