JQuery - 如何根据section id更改变量值

时间:2016-08-08 21:42:39

标签: javascript jquery

我对JQuery不太满意 - 而且我一直在寻找解决问题的方法。

我有一个脚本,可以在屏幕上显示动画图标并延迟。

它是一个通用脚本,适用于我页面的所有部分。

但我有一些部分有300个图标,其他部分有10个图标。

如果我为300个图标的部分选择1秒延迟,我需要等待300秒才能完成..(loooooong time) -

如果我将延迟更改为8毫秒,这部分的延迟是完美的,但对于只有10个图标的其他部分太快(我可以看到延迟)。

我在页面上有一个scroolspy系统工作 - 如果它很重要......

我需要一种方法来识别部分并根据部分ID设置延迟。

在我的剧本上我有这一行:

const MULTIPLIER = 80; //ms

我需要类似的东西:

var currentSection = $(".nav li.active > a").attr('href');
if (currentSection === "#clients")  {
        const MULTIPLIER = 10; 

        } else {
        const MULTIPLIER = 800; 

        };

我不知道我当前的部分,然后我的想法是使用导航菜单的scrollspy发现当前部分。

2 个答案:

答案 0 :(得分:0)

如果唯一的标准是容器中的图标数量,我会这样做:

var delay = ($("#sectionID img").length === 10) ? 240 : 8; // since some sections have 10 and the other have 30 times this number or 240

答案 1 :(得分:0)

将动画拍摄的总时间除以图标数。

var delay = 2400 / $(currentSection).find(".icon").length;

如果图标数为300,则会将delay设置为8 ms。如果该数字仅为10,则会将其设置为240 ms。在这两种情况下,总延迟时间为2.4 sec