拖放html5测验结果不会递增

时间:2012-09-27 04:31:06

标签: javascript jquery html5

我正在尝试使用拖放功能开发一个测验片段并最终使用此代码,其中始终显示结果为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>

我哪里出错了,请检查我的代码,并帮助我获得结果......

1 个答案:

答案 0 :(得分:1)

原因是每次调用此函数时,结果被“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;

我希望能回答你的问题。

感谢, 斜切