计算剩余项目以计算百分比

时间:2011-06-09 20:44:37

标签: jquery

我有一个页面,用户必须从屏幕上其他区域拖动项目。

当拖出所有项目时 - 完成100%任务。

我想计算每次拖放完成任务的百分比(当项目被拖出灰色区域时)。

如何计算某个区域内的剩余物品?

如何转化为百分比?

我应该根据页面加载的百分比来计算每个项目的价值,然后减去?

2 个答案:

答案 0 :(得分:2)

这样的事情应该有效。

$(document).ready(function(){
    var startCount = $('#launchPad .card').length,


    $("#dropZone").bind( "drop", function(event, ui) {
        var currentCount = $('#launchPad .card').length;
        alert(currentCount/startCount);
    });

});

答案 1 :(得分:1)

根据Chris May的评论,试试这个:

var startCount = $("#launchPad .card").length;

$(".stack").bind( "drop", function(event, ui) {
    var currentCount = startCount - $("#launchPad .card").length + 1;
    alert(currentCount / startCount * 100 + "%");
});

这是从第一次从0%下降到100%

开始的

在这里小提琴:http://jsfiddle.net/qQdZy/

编辑: 这应该可以解决问题:)

var startCount = $("#launchPad .card").length;

$(".stack").bind( "drop", function(event, ui) {
    var currentCount = startCount - $("#launchPad .card").length;
    if (currentCount != startCount)
        currentCount++;
    alert(currentCount / startCount * 100 + "%");
});

新小提琴:http://jsfiddle.net/qQdZy/1/

新编辑: 好的,我已经改变了我的解决方案。这有效:

var startCount = $("#launchPad .card").length;
var moveFromLaunch = false;

$(".card").bind( "dragstart", function(event, ui) {
  moveFromLaunch = true;
});

$(".stack").bind( "drop", function(event, ui) {
    var currentCount = $("#launchPad .card").length;
    if (moveFromLaunch)
        currentCount--;
    currentCount = startCount - currentCount;
    moveFromLaunch = false;
    alert(currentCount / startCount * 100 + "%");
});

小提琴:http://jsfiddle.net/qQdZy/3/