JS实现评价的星星功能
刚开始接触写星星评价时,哇!估计脑子刚被驴踢了,竟然想到了最笨的办法-手工画五角星。妈呀! css样式都写了好大一串,还沾沾自喜终于画出来了,然后瞅一瞅旁边的妹子写得怎么样了,哇!人家机智的!直接用符号★就解决了!!!唉,智商捉急呀!
先上图看看吧:
虽然简单,还是有几个注意的地方:
1. 未点击时的hover效果,星星会随鼠标移动亮起来喔。
2. 点击后关闭hover效果。
3. 点击同一颗星星,星星可以随时换色。
具体代码展示:
<!doctype html> <html> <head> <meta charset="UTF-8"> <title></title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> </head> <style type="text/css"> .stars{ white-space: nowrap; text-align: center; margin-top: 20px; margin-bottom: 20px; } .stars li{ display: inline-block; color: #ADADAD; font-size: 40px; } </style> <body> <ul class="stars"> <li>★</li> <li>★</li> <li>★</li> <li>★</li> <li>★</li> </ul> <script src="../../js/common/jquery-git.js"></script> <script> $(function() { //为星星设置hover效果 var isClicked = false; var beforeClickedIndex = -1; var clickNum = 0; //点击同一颗星次数 $('li').hover( function() { if(!isClicked) { $(this).css('color', '#F0AD4E'); var index = $(this).index(); for(var i = 0; i <= index; i++) { $('li:nth-child(' + i + ')').css('color', '#F0AD4E'); } } }, function() { if(!isClicked) { $('li').css('color', '#ADADAD'); } } ); //星星点击事件 $('li').click(function() { $('li').css('color', '#ADADAD'); isClicked = true; var index = $(this).index(); for(var i = 1; i <= index+1; i++) { $('li:nth-child(' + i + ')').css('color', '#F0AD4E'); } if(index == beforeClickedIndex) { //两次点击同一颗星星 该星星颜色变化 clickNum++; if(clickNum % 2 == 1) { $('li:nth-child(' + (index + 1) + ')').css('color', '#ADADAD'); } else { $('li:nth-child(' + (index + 1) + ')').css('color', '#F0AD4E'); } } else { clickNum = 0; beforeClickedIndex = index; } }); }); </script> </body> </html>
总结
以上所述是小编给大家介绍的JS实现评价的星星功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
相关文章
JavaScript, select标签元素左右移动功能实现
这篇文章主要介绍了JavaScript, select标签元素左右移动功能实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-05-05javascript设计模式 – 享元模式原理与用法实例分析
这篇文章主要介绍了javascript设计模式 – 享元模式,结合实例形式分析了javascript享元模式相关概念、原理、用法及操作注意事项,需要的朋友可以参考下2020-04-04js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
下面小编就为大家带来一篇js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-08-08JavaScript中clientWidth,offsetWidth,scrollWidth的区别
这篇文章主要介绍了Element中clientWidth,offsetWidth,scrollWidth的区别,帮助大家更好的理解和使用JavaScript,感兴趣的朋友可以了解下2021-01-01bootstrap制作jsp页面(根据值让table显示选中)
这篇文章主要为大家详细介绍了bootstrap做的jsp页面,根据值让table显示选中,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-01-01JavaScript判断textarea值是否为空并给出相应提示
假如用户没有输入数据则给出相应提示,那么该如何来判断呢?下面以判断textarea值是否为空为例2014-09-09
最新评论