为了账号安全,请及时绑定邮箱和手机立即绑定

怎么限制当前的值为number,并且确定他的取值范围,如下图和代码

怎么限制当前的值为number,并且确定他的取值范围,如下图和代码

慕慕森 2019-02-26 17:28:30
说明如图,想要做一个星级评分,根据数值,确定下面的橙色星星的个数,如数值为3,即有3颗橙色星星问题如何限制当前的值<p id="number">33</p>为number,并且确定他的取值范围为0-5,然后觉得写的代码很重复了,最后谢谢了代码
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

var number = $('#number').html() >> 0;

var stars = [, 1, 2, 3, 4];

var s = stars[number];

if (s) {

    $('.box .box-item').eq(s).prevAll().attr("src", "images/startBright.jpg");

} else {

    $('.box .box-item').attr("src", "images/startDark.jpg");

}

赶着吃饭只写了上面的,下面补充一下。 

第一行>> 0位移0可以把所有变量转成整数,像"4.5"这种会变成4,"abc"这种会变成0; 

第二行是建一个索引,只有值为1,2,3,4才能找到相应位置的值,其他的是undefined; 

当然你简写成var stars = [, 1, 2, 3, 4][number]也行; 

剩下的就用if判断一下就好。


查看完整回答
反对 回复 2019-03-06
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

如何限定,不好弄啊,你又不是输入,而是一个p标签。只能判断一下是不是number


var number = $('#number').html();

type of number == Number

至于下面的代码优化,


if(number==0){

$('.box .box-item').attr("src","images/startDark.jpg");

}else{

$('.box .box-item').eq(number).prevAll().attr("src","images/startBright.jpg");

}


查看完整回答
反对 回复 2019-03-06
  • 2 回答
  • 0 关注
  • 897 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信