Javascript 如何使clickcount函数从0以外的数字开始

Javascript 如何使clickcount函数从0以外的数字开始,javascript,css,html,click-counting,Javascript,Css,Html,Click Counting,我有一个图像,旋转和计数点击在同一时间。用户必须将图像旋转到正确的位置,然后提交此答案以进入下一页。根据通过clickedcount功能检查的第一个图像的总点击次数,单击第二个按钮将导航到两个URL之一 我已经得到了图像旋转点击使用CSS转换。我还有一个clickedcount函数,它计算点击次数,然后第二个按钮根据总数正确地导航到其中一个URL。但是,我需要从2开始计数,而不是0,因为这是第一个正确的图像位置。然后,此后的每一次完整旋转,也将接受4的倍数作为正确值。因此,单击总计2,然后单击6

我有一个图像,旋转和计数点击在同一时间。用户必须将图像旋转到正确的位置,然后提交此答案以进入下一页。根据通过clickedcount功能检查的第一个图像的总点击次数,单击第二个按钮将导航到两个URL之一

我已经得到了图像旋转点击使用CSS转换。我还有一个clickedcount函数,它计算点击次数,然后第二个按钮根据总数正确地导航到其中一个URL。但是,我需要从2开始计数,而不是0,因为这是第一个正确的图像位置。然后,此后的每一次完整旋转,也将接受4的倍数作为正确值。因此,单击总计2,然后单击6、10、14、18、22,依此类推

更改第一个函数中的起始clickedcount值确实会导致接受上述正确总数。但是,它也会在第一次单击时将图像额外旋转2次,这是不应该的。我猜我需要修改“if clickedCount%4==0”位,以便有效地将2添加到起始总数中,但到目前为止,我尝试过的所有变体都不起作用

到目前为止,我得到的最接近的结果是:

'如果clickedCount=2 | | 2+%4==0'

如果clickedcount等于2或2+4的倍数

但它并不接受完全停止旋转。我不知道我哪里出了问题!我是javascript新手,所以可能遗漏了一些非常明显的东西:

JS:


只需更改代码行

 clickedCount = 0;

新代码:

<script>
// Rotate cog when clicked
   var directions = ["north", "west", "south", "east"],
    clickedCount = 2;
     ....
不同的做事方式: 使用javascript的style属性,您可以直接修改任何对象的transform元素

结合一些自定义属性,您可以设置一系列锁,而无需编写大量重复代码

函数rotateLockimage{ //创建旋转并单击附加到div的属性 var cl=document.createAttributeclicks; var clrot=document.createAttributerotation; //增加“点击次数”1次 cl.值+=1; image.attributes.setNamedItemcl; //增加旋转90度 clrot.value=Numberimage.attributes.getNamedItemrotation.value+90; 而clrot.value>360{clrot.value-=360;} image.attributes.setNamedItemclrot; //集合变换 image.style.transform=rotate+image.attributes.getnameditmrotation.value+deg; //检查旋转是否与“endRotation”值匹配,以及“clicks”是否大于0 如果cl.value>0&&clrot.value==image.attributes.getNamedItemRotation.value{ image.innerHTML=

未锁定!

; }否则{ image.innerHTML=已锁定!; } } 锁定 锁定


请阅读本教程:。它有很多有用的信息,关于你的问题应该包括哪些内容,使它们更容易理解。欢迎来到stackoverflow。您想要的初始位置是什么。我不确定你说的额外旋转2次是什么意思,但这会导致图像在第一次单击时旋转3次以上是我最初尝试的。在比较中使用clickedCount-2而不是+2你也可以这样做:如果clickedCount>3{clickedCount-=4;}来规范化clickedCount,我看到了。。。试试这个:如果我错了,方向[clickedCount-2%4]会纠正我,但是你不能将数组重新排序到[s,e,n,w]而不是应用索引移位吗?有没有一个原因,这些都必须在那个顺序?我想如果您想让北位置启用入口,您必须将退出条件更改为clickedcount%4==2。
 clickedCount = 0;
  clickedCount  = 2;
<script>
// Rotate cog when clicked
   var directions = ["north", "west", "south", "east"],
    clickedCount = 2;
     ....
if ((clickedCount == 2) || (((clickedCount + 2) % 4) == 0))