dom实现类似淘宝的星级评分

不念不忘少年蓝@ 2023-06-22 06:21 75阅读 0赞

星级评分本质上是两种星星图片之间的转换。
代码如下(五角星(1).png是指空白五角星图,五角星.png是指选中的五角星图):

  1. <div class="wrap">
  2. <div class="score">
  3. <img src="五角星(1).png" alt="">
  4. <img src="五角星(1).png" alt="">
  5. <img src="五角星(1).png" alt="">
  6. <img src="五角星(1).png" alt="">
  7. <img src="五角星(1).png" alt="">
  8. </div>
  9. <span></span>
  10. </div>

js代码:

  1. var imgs = document.getElementsByTagName('img')
  2. var text = document.getElementsByTagName('span')[0]
  3. for (var i = 0; i < imgs.length; i++) {
  4. imgs[i].i = i
  5. imgs[i].onclick = function () {
  6. //获取当前出发元素索引值
  7. var index = this.i
  8. //清空样式,先清空后添加
  9. for (var k = 0; k < imgs.length; k++) {
  10. imgs[k].src = '五角星(1).png'
  11. }
  12. for (var j = index; j >= 0; j--) {
  13. imgs[j].src = '五角星.png'
  14. }
  15. if (this.i === 0) {
  16. text.innerHTML = '非常差'
  17. } else if (this.i === 1) {
  18. text.innerHTML = '差'
  19. } else if (this.i === 2) {
  20. text.innerHTML = '一般'
  21. } else if (this.i === 3) {
  22. text.innerHTML = '好'
  23. } else {
  24. text.innerHTML = '非常好'
  25. }
  26. }
  27. }

发表评论

表情:
评论列表 (有 0 条评论,75人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Vue 星级评分组件

    Vue 星级评分组件 描述:其实很早就有想做一个星级评分的组价了,并且想写一些组件的代码库,就是在自己没事的时候造一些轮子,在工作的时候直接 Ctrl + C 和 Ctr