在for循环JavaScript中单击更改div的CSS

在for循环JavaScript中单击更改div的CSS,javascript,for-loop,click,this,clip-path,Javascript,For Loop,Click,This,Clip Path,我有一个代码,可以在单击某个div时更改其剪辑路径,并且我希望该div的剪辑路径按照数组的顺序进行更改 代码: for(设i=0;i

我有一个代码,可以在单击某个div时更改其剪辑路径,并且我希望该div的剪辑路径按照数组的顺序进行更改

代码:

for(设i=0;i

但是,此代码将仅在循环的最后一次定向时运行。我已经看过一些例子,说明如何通过将函数置于循环之外来解决这个问题。但在我的例子中它不起作用。因此,如果有人知道我如何解决这个问题,请帮助我。

您需要一个持久的外部变量来跟踪单击发生的次数-为相应的
位置设置css
索引,并增加索引:

let clickNumber = 0;
$('.branch').click(function(){
  if (clickNumber >= positions.length) return;
  $(this).css('clip-path', positions[clickNumber++]);
})

您需要一个持久的外部变量来跟踪点击次数-为相应的
位置设置css
索引,并增加索引:

let clickNumber = 0;
$('.branch').click(function(){
  if (clickNumber >= positions.length) return;
  $(this).css('clip-path', positions[clickNumber++]);
})

是否希望在单击任何
.branch
时更改每个
.branch
,或者您要查找的逻辑到底是什么?我希望单击的branch div将其剪辑路径更改为位于
位置
数组中的路径。因此,无论您单击哪个分区,它们都将始终转换剪辑路径,以便一起构建图像。是否希望在单击任何
.branch
时,每个
.branch
都发生更改,或者您要查找的逻辑到底是什么?我希望单击分支div将其剪辑路径更改为位于
位置
数组中的路径。因此,无论您单击哪个div,它们都会变换剪辑路径,以便一起构建图像。虽然这很有帮助,但它似乎从数组中为每个分支分配了自己的预定义值。我希望它是,无论你点击哪个分支,它都会按顺序进入它在数组中的路径,这样它看起来就像是在构建自己,无论你点击分支的顺序如何。如果你知道我可以实现这一点的方法,请回答。你在寻找什么不清楚,你的意思是在
第I个
点击整体,点击的分支将更改为
位置[I]
,或者什么?是的,这正是我想要的。无论您单击div的顺序如何,它们都会重新定位自己以构建图像。理论上,我想用随机生成的漂浮在周围的多边形创建一个图像,这样当你点击它们时,它们就可以一起构建一个图像。虽然这很有帮助,但它似乎从数组中为每个分支指定了自己的预定值。我希望它是,无论你点击哪个分支,它都会按顺序进入它在数组中的路径,这样它看起来就像是在构建自己,无论你点击分支的顺序如何。如果你知道我可以实现这一点的方法,请回答。你在寻找什么不清楚,你的意思是在
第I个
点击整体,点击的分支将更改为
位置[I]
,或者什么?是的,这正是我想要的。无论您单击div的顺序如何,它们都会重新定位自己以构建图像。理论上,我想用随机生成的漂浮在周围的多边形创建一个图像,这样当你点击它们时,它们会一起构建一个图像。