吃五次以上的人得分增加

Increase the score who eats more than five times

本文关键字:增加 五次      更新时间:2023-09-26

我可以把图像拖放到每个星期吃一次的篮子里

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

例如,如果一个人每周吃一次西瓜,尝试将西瓜图像从"项目"拖到"篮子"中,则点数将增加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;
}

这是一个Fiddle

好吧,交易到此为止。我添加了一个函数来复制食物div,从而允许您根据需要多次拖放它。

function duplicate(x) {
    var clone = x.cloneNode(true);
    clone.id = "" 
    clone.onclick = duplicate;
    x.parentNode.insertBefore(clone, x.nextSibling);
}

这是一把小提琴。

这样你可以放多少西瓜就放多少西瓜。问题是,你可以通过点击里面的项目来相乘。我没有足够的时间来修复这些错误,但这是你现在可以自己思考的事情。当我有时间的时候,我会清理剧本。

附言:为了乘法的目的,我把id改成了类。