Javascript 拖放html5测验结果不递增

Javascript 拖放html5测验结果不递增,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试开发一个带有拖放功能的测试片段,最终得到的代码总是显示结果为1,结果不是递增的 我尝试了很多方法,但都没有增加 javascript: 这是我在应用程序中使用的代码 <script> function allowDropi(ev) { ev.preventDefault(); } function dragi(ev) { ev.dataTransfer.setData("Text",ev.targe

我正在尝试开发一个带有拖放功能的测试片段,最终得到的代码总是显示结果为1,结果不是递增的

我尝试了很多方法,但都没有增加

javascript:

这是我在应用程序中使用的代码

 <script>
    function allowDropi(ev)
    {
        ev.preventDefault();
    }

    function dragi(ev)
    {
        ev.dataTransfer.setData("Text",ev.target.id);
    }

    function dropi(ev)
    {
        ev.preventDefault();
        var data=ev.dataTransfer.getData("Text");
        ev.target.appendChild(document.getElementById(data));

        result1=0;

        if(ev.dataTransfer.getData("Text")==="drag2i")
        {
            result1++;

        }


        if(ev.dataTransfer.getData("Text")==="dra2i")
        {
            result1++;
        }


        if(ev.dataTransfer.getData("Text")==="dr2i")
        {
            result1++;
        }


        if(ev.dataTransfer.getData("Text")==="2i")
        {
            result1++;
        }


        if(ev.dataTransfer.getData("Text")==="d2i")
        {
            result1++;
        }

         document.getElementById('boldStuff6').innerHTML = result1;
    }

    alert(result1);

    </script>

功能allowDropi(ev)
{
ev.preventDefault();
}
函数dragi(ev)
{
ev.dataTransfer.setData(“文本”,ev.target.id);
}
功能下降(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData(“文本”);
ev.target.appendChild(document.getElementById(数据));
结果1=0;
if(ev.dataTransfer.getData(“文本”)=“drag2i”)
{
结果1++;
}
if(ev.dataTransfer.getData(“文本”)=“dra2i”)
{
结果1++;
}
if(ev.dataTransfer.getData(“文本”)=“dr2i”)
{
结果1++;
}
if(ev.dataTransfer.getData(“文本”)=“2i”)
{
结果1++;
}
if(ev.dataTransfer.getData(“Text”)=“d2i”)
{
结果1++;
}
document.getElementById('boldStuff6')。innerHTML=result1;
}
警惕(结果1);

我哪里出错了请检查mycode并帮助我获得结果…

原因是每次调用此函数时,result都会被“result1=0”设置为0,然后再递增

如果您想对结果进行计数,则需要将结果作为函数的属性

添加以下内容,而不是“result1=0”:

this.result1 = ( this.result1  ) ? this.result1 : 0; // this will make sure it keeps old stored values from last time you call the function.
并将递增项更改为以下内容:

this.result1++; // or you can use ++this.result1; or even this.result1+=1;
我希望这能回答你的问题

谢谢,
Miter

谢谢你的重播,它起作用了我的错误,我没看到。。。。。你很棒的兄弟…嗨,我需要再帮一个忙,我不能把下拉框限制在一张图片上,你能提出任何修改建议吗…你能试着更好地解释你的问题吗?我正在开发的代码片段是一个拖放测试,用户需要拖出其中的一个选项,所以我提供了一个下拉框来删除这个选项这是现在采取了不止一个,但它应该只采取一个选项,所以你可以帮我限制它一个..嗨,我需要一个帮助,我不能限制一个图像的下拉框,你可以建议任何更改请。。。