【发布时间】:2014-04-18 22:24:49
【问题描述】:
这是我编写的函数,目前在我的项目中使用但我想确定是否有更好的方法来编写它:
function pageLoader(pageIndex) {
$(".ServicesSectionWrapper,.ServicesSectionWrapper .Selector,.ServicesSection,.JournalSectionWrapper,.JournalSectionWrapper .Selector,.JournalSection,.AboutSectionWrapper,.AboutSectionWrapper .Selector,.AboutSection").hide();
switch (pageIndex) {
case 1:
$(".AboutSectionWrapper").fadeIn(400, function () {
$("#AboutWrapper").fadeIn(400, function () {
$("#ManagerWrapper").fadeIn(400, function () {
$("#DeveloperWrapper").fadeIn(400, function () {
$("#DesignerWrapper").fadeIn(400, function () {
$(".AboutSection").fadeIn(400, function () {
$(".AboutSection").addClass("PreLoadRotate")
})
})
})
})
})
});
break;
case 2:
$(".JournalSectionWrapper").fadeIn(400, function () {
$("#DateOne").fadeIn(400, function () {
$("#DateTwo").fadeIn(400, function () {
$("#DateThree").fadeIn(400, function () {
$("#DateFour").fadeIn(400, function () {
$("#DateFive").fadeIn(400, function () {
$("#DateSix").fadeIn(400, function () {
$("#DateSeven").fadeIn(400, function () {
$("#DateEight").fadeIn(400, function () {
$(".JournalSection").fadeIn(400, function () {
$(".JournalSection").addClass("PreLoadRotate")
})
})
})
})
})
})
})
})
})
});
break;
case 3:
$(".ServicesSectionWrapper").fadeIn(400, function () {
$("#AppsWrapper").fadeIn(400, function () {
$("#ResponsiveWrapper").fadeIn(400, function () {
$("#DigitalWrapper").fadeIn(400, function () {
$("#PTRWrapper").fadeIn(400, function () {
$(".ServicesSection").fadeIn(400, function () {
$(".ServicesSection").addClass("PreLoadRotate")
})
})
})
})
})
});
break;
}
}
这是 HTML:
<div class="AboutSectionWrapper">
<div class="Selector" id="AboutWrapper"></div>
<div class="Selector" id="DesignerWrapper"></div>
<div class="Selector" id="ManagerWrapper"></div>
<div class="Selector" id="DeveloperWrapper"></div>
<div class="AboutSection">
<div class="Indicator"></div>
</div>
</div>
这是一个菜单(AboutSectionWrapper),如您所见,它有选择器,我想先加载菜单,然后依次加载选择器,最后淡入菜单指示器并添加一个 CSS 类,其中有一个转换。
其他情况也是如此,但例如在 CASE 2 中有更多的选择器!
请指教,谢谢。
【问题讨论】:
-
也试试 codereview.stackexchange.com。
-
谢谢你,Marco 我刚刚做到了。
-
看到这个我就慌了。
-
@EricHerlitz 这就是我的朋友我顺序淡入元素的重点,仅此而已,HTML 中只有一些带有这些 ID 和类的 Div 元素,这就是我没有发布 HTML 的原因部分。
-
这个问题似乎是题外话,因为它是关于修改/改进代码(这显然有效?)而不是解决编码问题。此外,OP 似乎不愿意澄清问题或提供相关的、必要的 HTML,jQuery/JavaScript 显然应该在这些 HTML 上工作。
标签: jquery performance function optimization