javascript - jQuery 可拖动 "game"问题

标签 javascript php jquery html jquery-ui

所以我有一个类似“游戏”的功能,更多的是测验,但我不知道如何让它发挥作用。 HTML

<td id='1to7 value' class="boxes" value="1to7"> Text here </td>

这就是 jQuery

<script>
  $(function () {
      $(".boxes").draggable();
      $("#one,#droppable").droppable({
          drop: function (event, ui) {
              $( this )
              alert("testing!");
            }
      });
  });
</script>

如您所见,它会对 #one#droppable 上丢弃的所有内容发出警报。

现在问题来了。我有不同的框,具有不同的值(1 到 7)。

每个.draggable区域都有一个ID(1到7,总共7个.draggable区域)。

如何检查正确的框是否已拖动到正确的 .draggable 区域,然后在所有框都被拖动后(通过提交)进行检查。

最佳答案

您可以从 ui.drabbable 获取可拖动对象并检查其 val()用于测试。

$(function () {
  $(".boxes").draggable(
      {revert: 'invalid',
       stop: function(){
        $(this).draggable('option','revert','invalid');
      }
     }
  );

  $("#droppable").droppable({
      drop: function (event, ui) {
        var draggable = ui.draggable;
        if(draggable.attr("value")==1)
            alert("correct!");
          else
            draggable.draggable('option','revert',true);
       }
  });

});

你不能创建<td>可拖动,相反,您必须使用类似 <span> 的内容或<div>

<span class="boxes" value="1"> Draggable1 </span>
<span class="boxes" value="2"> Draggable2 </span>
<span class="boxes" value="3"> Draggable3 </span>
<span class="boxes" value="4"> Draggable4 </span>
<span class="boxes" value="5"> Draggable5 </span>
<span class="boxes" value="6"> Draggable6 </span>
<span class="boxes" value="7"> Draggable7 </span>
<div id="droppable">
    droppable area
</div>

这里是fiddle

关于javascript - jQuery 可拖动 "game"问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22697979/

相关文章:

javascript - 等待 canvas.toBlob() 后再继续

javascript - 语法错误 : Unexpected token : when running jest test with Aurelia in TypeScript

php - RequestTimeout 使用 PHP 上传到 S3

javascript - 如何实现页面元素焦点变化时的滚动效果?

javascript - angularjs - 单击按钮更改另一个元素的内容

javascript - 使用 Javascript 和 Google AppS 脚本均匀/交替合并多个数组

php - 尝试将数据从数据库发布到网页时出现 mysql 错误

php - div标签不包含内容

javascript - 下拉菜单栏

javascript - 如果 elem 具有过渡属性 (jQuery),则值累积在 .css() 中不起作用