gpt4 book ai didi

javascript - jquery every inside every 只影响最后一个元素

转载 作者:行者123 更新时间:2023-12-03 12:04:18 27 4
gpt4 key购买 nike

我在嵌套循环方面遇到问题。请看下面的 fiddle : http://jsfiddle.net/7znfmp9o/

我希望每个部分都能获得视差效果,但是这里发生了一些奇怪的事情。 .each() 代码仅应用于循环中的最后一个元素。

更改此行:

$bgElm = $(this).find('.swiper-slide-bg, .mk-section-video')

进入此:

$bgElm = $('.parallax-true').eq(0).find('.swiper-slide-bg, .mk-section-video')

在所需部分运行代码片段,但是 .eq(i) 上的迭代也不起作用,即使在闭包内也是如此:

(函数(i){ ... })(i);

我在这里缺少什么?感谢您的帮助

最佳答案

问题是由这一行引起的:

 $bgElm = $(this).find('.swiper-slide-bg'),

每次发生第一个 forEach 时,您都会设置此内部变量的内容。当引发事件时, this 的值是 forEach 循环中的最后一个元素。您应该将这些变量移到 forEach 循环之外,并将元素附加到其中。然后,一旦引发该事件,就会对该变量内的元素进行循环。

我对我的提议进行了非常粗略的实现。当它起作用时,您应该重新组织数据结构并给出正确的命名以帮助描述您的意图。例如,对于描述视差元素集的变量来说,$bgElm 是一个糟糕的变量选择。

http://jsfiddle.net/myqswjnt/

关于javascript - jquery every inside every 只影响最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25252967/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com