Issues
- Can we use some simple code plz
- My code is cumbersome - Is there any way to make use of single java script and get it happen.
- Also now my rating is not toggling means not change when again clicked or clicked a back star
- Can we use
thisas there are more ratings like 5 or 6 - Is is possible to just use one JS for all and all are toggled differently. - Are we able to get counting and display it below
function star1() {
var s1 = document.getElementById("star1");
s1.className = "fa fa-star";
s1.style.color = "red";
document.getElementById("demo").innerHTML = "1";
}
function star2() {
var s1 = document.getElementById("star1");
var s2 = document.getElementById("star2");
s1.className = "fa fa-star";
s2.className = "fa fa-star";
s1.style.color = "red";
s2.style.color = "red";
document.getElementById("demo").innerHTML = "2";
}
function star3() {
var s1 = document.getElementById("star1");
var s2 = document.getElementById("star2");
var s3 = document.getElementById("star3");
s1.className = "fa fa-star";
s2.className = "fa fa-star";
s3.className = "fa fa-star";
s1.style.color = "red";
s2.style.color = "red";
s3.style.color = "red";
document.getElementById("demo").innerHTML = "3";
}
function star4() {
var s1 = document.getElementById("star1");
var s2 = document.getElementById("star2");
var s3 = document.getElementById("star3");
var s4 = document.getElementById("star4");
s1.className = "fa fa-star";
s2.className = "fa fa-star";
s3.className = "fa fa-star";
s4.className = "fa fa-star";
s1.style.color = "red";
s2.style.color = "red";
s3.style.color = "red";
s4.style.color = "red";
document.getElementById("demo").innerHTML = "4";
}
function star5() {
var s1 = document.getElementById("star1");
var s2 = document.getElementById("star2");
var s3 = document.getElementById("star3");
var s4 = document.getElementById("star4");
var s5 = document.getElementById("star5");
s1.className = "fa fa-star";
s2.className = "fa fa-star";
s3.className = "fa fa-star";
s4.className = "fa fa-star";
s5.className = "fa fa-star";
s1.style.color = "red";
s2.style.color = "red";
s3.style.color = "red";
s4.style.color = "red";
s5.style.color = "red";
document.getElementById("demo").innerHTML = "5";
}
.stars i {
font-size: 26px;
padding: 3px;
}
.stars i:hover {
color: red;
}
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<span class="stars"><i class="fa fa-star-o" id="star1" onclick="star1()"></i><i class="fa fa-star-o" id="star2" onclick="star2()"></i><i class="fa fa-star-o" id="star3" onclick="star3()"></i><i class="fa fa-star-o" id="star4" onclick="star4()"></i><i class="fa fa-star-o" id="star5" onclick="star5()"></i></span><br>
<b id="demo"></b>