如何使用.click事件jquery链接进度条

时间:2014-08-31 18:54:07

标签: javascript jquery html css jquery-ui

我想创建一个投票系统。如何将.click事件与进度条链接,以便当用户单击该按钮时,进度条会同步更新。

这是我的代码

HTML

<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>

<div class="content">
<h3 class="title">Who's better ?</h3>
<ul>
    <li class="option" id="option_1" >
            Messi
        <p id="score_1">0</p>
        <div class="progressbar_1">
        </div>
        <br>
    </li>
    <br>
    <li class="option" id="option_2" >
        Ronaldo
        <p id="score_2">0</p>
        <div class="progressbar_2"></div>
        <br>
    </li>
    <br>
</ul>
</div>

Jquery的

$('#option_1').click(function() {
$('#score_1').html(function(i, num) { return num*1+1});
});

$('#option_2').click(function() {
$('#score_2').html(function(i, num) { return num*1+1 });
});

$(function() {
$( ".progressbar_1" ).progressbar({value: 50});
});

$(function() {
$( ".progressbar_2" ).progressbar({value: 50});
});

http://jsfiddle.net/h16nhz5c/5/

1 个答案:

答案 0 :(得分:0)

您需要在投票时重新致电progressbar()。类似的东西:

<强> HTML:

<ul>
    <li class="option" id="option_1">
        Messi

        <p class="score" id="score_1">0</p>

        <div class="progressbar">
        </div>
    </li>

    <li class="option" id="option_2">
        Ronaldo

        <p class="score" id="score_2">0</p>

        <div class="progressbar">
        </div>
    </li>
</ul>

<强>使用Javascript:

$('.option').click(function() {
    var $this = $(this);

    // store voting value in data-voting
    if (!$this.data('voting'))
        $this.data('voting', 0);

    var voting = parseInt($this.data('voting'), 10);
    voting++;

    $this.data('voting', voting);
    $this.find('.score').html(voting);
    $this.find('.progressbar').progressbar({value: voting});
});

请参阅Fiddle