html 打星星评价实现,js实现星星打分效果的方法

本文实例讲述了js实现星星打分效果的方法。分享给大家供大家参考。具体分析如下:

很多网站都有如下图这样的星星打分效果,今天就看下用js怎么实现打分效果。

8b11e5c96b565212553290779973c7fb.png

效果详解

1. 鼠标移上的时候星星点亮,下面的文字显示。鼠标移出的时候星星为灰,下面文字不显示。

2. 鼠标移到某个星星上,它之前的所有星星都会亮。

3. 鼠标移到某个星星上并点击,会显示打分结果。

代码如下

切换

.wrapper{width:300px; margin:10px auto; font:14px/1.5 arial;}

/*tab*/

#star{overflow:hidden;}

#star li{

float:left;

width:20px;

height:20px;

margin:2px;

display:inline;

color:#999;

font:bold 18px arial;

cursor:pointer

}

#star .act{

color:#c00

}

#star_word{

width:80px;

height:30px;

line-height:30px;

border:1px solid #ccc;

margin:10px;

text-align:center;

display:none

}

window.onload = function(){

var star = document.getElementById("star");

var star_li = star.getElementsByTagName("li");

var star_word = document.getElementById("star_word");

var result = document.getElementById("result");

var i=0;

var j=0;

var len = star_li.length;

var word = ['很差','差','一般',"好","很好"]

for(i=0; i

star_li[i].index = i;

star_li[i].onmouseover = function(){

star_word.style.display = "block";

star_word.innerHTML = word[this.index];

for(i=0; i<=this.index; i++){

star_li[i].className = "act";

}

}

star_li[i].onmouseout = function(){

star_word.style.display = "none";

for(i=0; i

star_li[i].className = "";

}

}

star_li[i].onclick = function(){

result.innerHTML = (this.index+1)+"分";

}

}

}

打分结果

一般

希望本文所述对大家的javascript程序设计有所帮助。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 HTML、CSS 和 JavaScript 代码示例,可以实现五个星星,当鼠标移动到星星上时,星星变亮。 HTML 代码: ```html <div class="rating"> <span class="star" data-rating="1"></span> <span class="star" data-rating="2"></span> <span class="star" data-rating="3"></span> <span class="star" data-rating="4"></span> <span class="star" data-rating="5"></span> </div> ``` CSS 代码: ```css .rating { display: inline-block; font-size: 0; height: 20px; position: relative; width: 100px; } .star { cursor: pointer; display: inline-block; font-size: 20px; height: 20px; margin-right: 4px; position: relative; width: 20px; } .star:before { content: "\2605"; position: absolute; left: 0; top: 0; } .star:hover:before, .star:hover ~ .star:before { content: "\2605"; color: gold; } .star:hover:before { z-index: 1; } ``` JavaScript 代码: ```javascript const stars = document.querySelectorAll('.star'); const rating = document.querySelector('.rating'); rating.addEventListener('click', function(e) { const starClicked = e.target.closest('.star'); if (starClicked) { const ratingValue = starClicked.dataset.rating; alert(`You rated this ${ratingValue} stars.`); } }); rating.addEventListener('mousemove', function(e) { const starUnderMouse = e.target.closest('.star'); if (starUnderMouse) { const ratingValue = starUnderMouse.dataset.rating; stars.forEach(function(star) { if (star.dataset.rating <= ratingValue) { star.style.color = 'gold'; } else { star.style.color = 'gray'; } }); } else { stars.forEach(function(star) { star.style.color = 'gray'; }); } }); ``` 这个代码可以实现鼠标移动到星星上时,星星变亮,当鼠标点击星星时,弹出一个提示框显示所选的星级评价。您可以根据自己的需求进行修改和定制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值