-2

我正在尝试创建一个评级系统。这个想法是在页面加载时我会看到每颗星有多少颗星。当我点击星星时,它会增加条的宽度。这就是我正在做的事情。到目前为止的问题是 1:条形图显示不正确 2:星数没有正确递增。这个想法是在新的点击后更新栏。这是小提琴。我有几个与此相关的其他问题。一旦我解决了这个问题,我会做一个新的帖子

http://jsfiddle.net/sghoush1/VU3LP/37/

Jquery 看起来像这样

$(function(){

    var baractive = $('<div class="barActive"></div');
    baractive.appendTo('.bar');

    var curr_val = $('.reading').html();
    var new_val = parseInt(curr_val)+1;

    if(curr_val< 20){
        $('.barActive').css('height', '20px').css('width', '20px');
    }
    if(curr_val< 40){
        $('.barActive').css('height', '20px').css('width', '40px');
    }

    $('.star').click(function(){
        $('.reading').eq($(this).index('.star')).html(new_val); 

        $(this).addClass('active');
        $('.bar').eq($(this).index('.star')).addClass('barActive');

    });

});
4

1 回答 1

0

就问题 #2 而言:您需要在点击响应函数内部进行读取curr_val和计算。new_val实际上,您阅读了第一个并将其用于所有星形条。

就问题 1 而言:我没有答案;你说条形图显示不正确,但你没有说你想要什么行为。new_val但是,我怀疑如果您将 css 分配也移动到 click 函数中(使用而不是curr_val用于栏),这个问题也会消失。您仍然需要使用其特定值和索引来初始化每个柱。

于 2013-04-14T00:58:04.607 回答