首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将预加载程序脚本重构为模块化

将预加载程序脚本重构为模块化
EN

Stack Overflow用户
提问于 2014-07-09 08:18:06
回答 1查看 46关注 0票数 1

如何重构下面给定的预加载程序脚本,使其模块化,并在页面中的许多部分中使用:

JS

代码语言:javascript
复制
$(window).load(function() {
        var preloaderDelay = 200,
            preloaderFadeOutTime = 800;

        function hidePreloader() {
            var loadingAnimation = $('#loading-animation'),
                preloader = $('#preloader');
            loadingAnimation.fadeOut();
            preloader.delay(preloaderDelay).fadeOut(preloaderFadeOutTime);

        }
        hidePreloader();
    });

CSS

代码语言:javascript
复制
#preloader { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: #ffffff; z-index: 9999; }
#loading-animation { width: 200px; height: 200px; position: absolute; left: 50%; top: 50%; background: url(asset-path('assets/loading-animation.gif')) center center no-repeat; margin: -100px 0 0 -100px; }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-09 08:21:40

我认为你可以这样做:

JS

代码语言:javascript
复制
$(function () {
    $.fn.preloader = function () {
        var objPreloader = $(this)
        objPreloader.prepend('<div class="preloader"> <div class="loading-animation"></div> </div>');

        $(window).load(function () {
            var preloaderDelay = 200,
                preloaderFadeOutTime = 800;

            function hidePreloader() {
                var loadingAnimation = objPreloader.find('.loading-animation') ,
                    preloader = objPreloader.find('.preloader');
                loadingAnimation.fadeOut();
                preloader.delay(preloaderDelay).fadeOut(preloaderFadeOutTime);
            }
            hidePreloader();
        });
    };

    $('.section-a').preloader();
    $('.section-b').preloader();

});

CSS

代码语言:javascript
复制
.preloader { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: #f4f3f3; z-index: 9999; }
.loading-animation { width: 200px; height: 200px; position: absolute; left: 50%; top: 50%; background: url(asset-path('loading-animation.gif')) center center no-repeat; margin: -100px 0 0 -100px; }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24648609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档