JS实现星级评价

说明:

  本方法采用了Jquery库,暂时检测兼容IE8版本。本示例的2种颜色的星星都是放入了一张png图片当中,当然还有其他的一些实现思路。本示例展示的情况是当前页面只有一个星级评价的情况。

思路:

  通过对星级显示元素的,mouseenter,mouseout,click 三个事件的监听,从而星星显示的个数。其中我用了2个变量(temp_value,choice_value)来存放当前选定星级的值和当前临时的星级值;

  •    temp_value : 临时的星级值;
  •       choice_value : 选择的星级值;
  •    mouseenter : 鼠标移入,获取当前所在的星星级别赋予temp_value,调整当前星星的图片颜色;
  •     mouseout : 鼠标移除,通过对比choice_value值,重新调整星星图片颜色;
  •       click : 鼠标单击后,获取当前的星级值,赋值给choice_value;(注意在click前已经进行过mouseenter事件了,click后进行了mouseout事件了)
  •       当完成选定值后,在需要提交评价值的时候,可以通过JS去获取变量choice_value的值;

HTML结构代码:

复制代码
    <h1>评价:</h1>
    <ul id="star">
        
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在uni-app中实现星级评价,你可以使用uni-app自带的组件或者自定义组件来实现。以下是一种常见的实现方式: 1. 创建一个星级评价的组件,可以命名为StarRating.vue。 2. 在StarRating.vue中,使用`<view>`或者`<div>`标签来布局星星图标,并设置合适的样式和大小。 3. 在StarRating.vue中,使用`for`循环来渲染星星图标,根据评价的分数来判断是否高亮显示星星。可以使用`v-for`指令来循环渲染星星图标,如: ```html <template> <view> <view v-for="index in totalStars" :key="index" @click="selectStar(index)"> <image :src="index <= currentStar ? 'active_star_icon.png' : 'inactive_star_icon.png'" /> </view> </view> </template> ``` 4. 在StarRating.vue中,定义一个`currentStar`变量来表示当前选中的星星数。初始值可以根据需求设置,默认为0。 5. 在StarRating.vue中,定义一个`selectStar`方法来处理点击事件,根据点击的星星数来更新`currentStar`的值。例如: ```javascript <script> export default { data() { return { totalStars: 5, // 总共的星星数 currentStar: 0 // 当前选中的星星数 }; }, methods: { selectStar(star) { this.currentStar = star; } } }; </script> ``` 6. 将StarRating组件引入到需要使用星级评价的页面中,使用`<star-rating />`标签来调用。如: ```html <template> <view> <star-rating></star-rating> </view> </template> <script> import StarRating from '@/components/StarRating.vue'; export default { components: { StarRating } }; </script> ``` 通过以上步骤,你就可以在uni-app中实现星级评价功能了。根据需要,你还可以添加其他样式和交互效果来美化和增强用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值