javascript - 如果 javascript 语句有问题

标签 javascript html

      <!DOCTYPE html>
  <html>
 <head>
 </head>
 <body>
 <hr>
 <div>

   <div id="myPos">

 </div>


 </div>

  <hr>
  <!--Storing my array -->
  <div id="myArray">

  </div>

  <br>
  <br/>
  <hr>

   <script type="text/javascript">
   var pos=-1;


   function randomSort(a,b){
return(parseInt(Math.random()*10)%2);
     }

   function roll(){
var myGun = new Array();
myGun[0]="First Slot";
myGun[1]="Second Slot";
myGun[2]="Third Slot";
myGun[3]="Fourth Slot";
myGun[4]="Fifth Slot";
myGun[5]="Sixth Slot";
myGun.sort(randomSort).toString();

document.getElementById("myArray").innerHTML="";



for(i=0;i<myGun.length;i++)
{
    document.getElementById("myArray").innerHTML+=myGun[i]+ "<br>"; 
}

    document.getElementById("myPos").innerHTML= "Position:"+ (pos=-1);
     }

function shot(){

    if(pos<myGun.length)
    {
        document.getElementById("myPos").innerHTML="Position:"+ (pos=pos+1) +"<br/>";


   }
    else
    {
       alert("you loose");
    }
       return pos;
}

     </script>

<footer>
    <button id="btnRoll" onclick="roll()">Roll</button>
    <button id="btnShot" onclick="shot()">Shot</button>
</footer>
    </body>
    </html>

最佳答案

试试这个,它对我有用,但我输了。 :) 我修复了几个小错误并对 HTML 进行了一些调整,但这不是问题所在。这里的问题是数组——它是第二个函数的局部变量,但不是第三个函数——我把它作为 pos 的全局变量,但在 roll 中重置它(你的原始定义看起来应该在那里重置)。

第一个函数不需要 a 和 b 参数,因为它不使用它们。 我已经移动了页面标签中的所有内容,但您也可以将所有脚本内容放在单独的 .js 中。文件的可读性:
<script type="text/javascript" src="path to file"></script> .

告诉我这是否也适合你。

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript">
        var pos = -1;
        var myGun = new Array;

        function randomSort()
        {
            return parseInt(Math.random() * 10) % 2;
        }

        function roll()
        {
            myGun = [];
            myGun[0]="First Slot";
            myGun[1]="Second Slot";
            myGun[2]="Third Slot";
            myGun[3]="Fourth Slot";
            myGun[4]="Fifth Slot";
            myGun[5]="Sixth Slot";
            myGun.sort(randomSort).toString();

            document.getElementById("myArray").innerHTML = '';



            for(i=0; i < myGun.length; i++)
                document.getElementById("myArray").innerHTML += myGun[i] + "<br />";

            document.getElementById("myPos").innerHTML = "Position:" + (--pos);
        }

        function shot()
        {
            if(pos < myGun.length)
                document.getElementById("myPos").innerHTML = "Position:" + (pos++) + "<br />";
            else
                alert("you loose");

            return pos;
        }

     </script>
 </head>
 <body>
    <hr />
    <div>
        <div id="myPos"></div>
    </div>

    <hr />
    <!--Storing my array -->
    <div id="myArray">

    </div>

    <br />
    <br />

    <footer>
        <input type="button" id="btnRoll" onclick="roll()" value="Roll" />
        <input type="button" id="btnShot" onclick="shot()" value="Shot" />
    </footer>
</body>
</html>

关于javascript - 如果 javascript 语句有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6671793/

相关文章:

html - css 背景颜色的无效属性值

jquery - UI 小部件禁用

php - Mysql更新时出错

javascript - 设置 map 缩放以覆盖所有标记;确保以特定标记为中心

javascript - Laravel 5.6 如何将 URL 作为 URL 参数传递?

javascript - 如何在数组中查找元素

javascript - KnockoutJS 仅在字段部分完整时验证

jquery - 为什么我会收到此 JS 错误?

javascript - 在页面之间共享 document.ready javascript

html - HTML复选框可以设置为只读吗?