我有一个页面,用户必须从屏幕上其他区域拖动项目。
当拖出所有项目时 - 完成100%任务。
我想计算每次拖放完成任务的百分比(当项目被拖出灰色区域时)。
如何计算某个区域内的剩余物品?
如何转化为百分比?
我应该根据页面加载的百分比来计算每个项目的价值,然后减去?
答案 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 + "%");
});