Javascript 进食超过五次者增加分数

Javascript 进食超过五次者增加分数,javascript,Javascript,我可以将图像拖放到每周吃一次的篮子中 如果一个人每周吃这种食物超过五次,或者他从来没有吃过这种食物,那该怎么办 例如,如果一个人每周吃一次西瓜,尝试将西瓜图像从物品拖到篮子中并释放,分数将增加30分 如果同一个人一周吃五次西瓜,怎么提高他的分数 这里有一个脚本 var myscore=0; function dragStart(ev) { ev.dataTransfer.effectAllowed='move'; ev.dataTransfer.setData("Text", ev.ta

我可以将图像拖放到每周吃一次的篮子中

如果一个人每周吃这种食物超过五次,或者他从来没有吃过这种食物,那该怎么办

例如,如果一个人每周吃一次西瓜,尝试将西瓜图像从物品拖到篮子中并释放,分数将增加30分

如果同一个人一周吃五次西瓜,怎么提高他的分数

这里有一个脚本

var myscore=0;
function dragStart(ev) {
  ev.dataTransfer.effectAllowed='move';
  ev.dataTransfer.setData("Text", ev.target.getAttribute('id'));
  ev.dataTransfer.setDragImage(ev.target,0,0);
  return true;
}
function dragEnter(ev) {
  event.preventDefault();
  return true;
}
function dragOver(ev) {
  return false;
}
function dragDrop1(ev) {   
  var src = ev.dataTransfer.getData("Text");
  if(!ev.target.contains(document.getElementById(src))){
    ev.target.appendChild(document.getElementById(src));
    ev.stopPropagation();
    var cal=0;
    switch(src){
      case "image1": cal = 20; break;
      case "image2": cal = 30; break;
      case "image3": cal = 40; break;
      case "image4": cal = 50; break;
      case "image5": cal = 60; break;
      default: cal=10;
    }
    myscore=myscore-cal;
    document.getElementById('Score').innerHTML=myscore;
  }
  return true;
}
function dragDrop2(ev) {   
  var src = ev.dataTransfer.getData("Text");
  if(!ev.target.contains(document.getElementById(src))){
    ev.target.appendChild(document.getElementById(src));
    ev.stopPropagation();
    var cal=0;
    switch(src){
      case "image1": cal = 20; break;
      case "image2": cal = 30; break;
      case "image3": cal = 40; break;
      case "image4": cal = 50; break;
      case "image5": cal = 60; break;
      default: cal=10;
    }
    myscore=myscore+cal;
    document.getElementById('Score').innerHTML=myscore;
  }
  return true;
}

这是一个

好的,这是交易。我添加了一个函数来复制food div,从而允许您根据需要多次拖放它

function duplicate(x) {
    var clone = x.cloneNode(true);
    clone.id = "" 
    clone.onclick = duplicate;
    x.parentNode.insertBefore(clone, x.nextSibling);
}
这是一个例子

这样你就可以放任意多的西瓜了。问题是,你可以通过点击它们来增加里面的项目。我没有足够的时间来修复这些错误,但是现在你可以自己考虑。当我有时间的时候,我会清理脚本


PS:为了乘法的目的,我将ID改为类。

这是一个很好的提问方式。感谢改进的版本,我无法克服这个错误——但有一个小错误——比如如果我将图片从项目列表拖放到项目列表中,图片就会消失,如果我将图像从篮子列表拖放到篮子列表中,出现更多图像。初始值后拖放的分数也有10分的波动。例如,如果我将图像从项目列表拖放到项目列表,则不应发生任何更改,如果我将图像从一个篮子拖放到另一个篮子,则不应发生任何更改place@James更好吗?您只需保存字段的原点,并在删除时检查它是否仍在同一个框中;)