我对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发现当前部分。
答案 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
。