Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在angular 5中,如何在子组件加载所有图像之前制作启动屏幕?_Javascript_Jquery_Angular_User Experience - Fatal编程技术网

Javascript 在angular 5中,如何在子组件加载所有图像之前制作启动屏幕?

Javascript 在angular 5中,如何在子组件加载所有图像之前制作启动屏幕?,javascript,jquery,angular,user-experience,Javascript,Jquery,Angular,User Experience,我使用angular 5来显示包含大量高分辨率图像的页面,加载时间太长。 我想做的是制作一个启动屏幕,一个覆盖全屏的div,在所有图像加载完毕后,它将消失。 如何在angular 5中实现这一点 window.onload = someFunction; // is not working well page.component.html: <div id="page" class="page"> <div id="splash"></div> <di

我使用angular 5来显示包含大量高分辨率图像的页面,加载时间太长。 我想做的是制作一个启动屏幕,一个覆盖全屏的div,在所有图像加载完毕后,它将消失。 如何在angular 5中实现这一点

window.onload = someFunction; // is not working well
page.component.html

<div id="page" class="page">
<div id="splash"></div>
<div id="home-page">
    <div class="container  d-none d-lg-block">
        <img src="assets/images/home/line_with_bird.png" alt="">
        <div class="row">
            <div class="col-3 ad-paper">
                <img src="assets/images/home/paper.png" class="" alt="">
            </div>
            <div class="col-2">
                <img id="arrow-word" src="assets/images/arrow_word.png" alt="">
                <img id="ladder" src="assets/images/ladderLong.png" alt="">
            </div>
            <div class="col-6 offset-1 c2">
                <div id="window"></div>
                <div class="smicos">
                    <app-socialmedia style="width: 641px;"></app-socialmedia>
                </div>
            </div>
        </div>
    </div>
</div>

不要在ngOnInit上隐藏启动屏幕。而是这样做:

对控制器中显示的图像进行计数

totalImages=20

在每个图像上保留一个加载处理程序

<img (load)='checkAllLoaded()'>

不要在ngOnInit上隐藏启动屏幕。而是这样做:

对控制器中显示的图像进行计数

totalImages=20

在每个图像上保留一个加载处理程序

<img (load)='checkAllLoaded()'>

在属性上设置一个带有*ngIf的div,该属性只有在加载图像时才会变为true

<div class="splash" *ngIf="!loaded"></div>
<img [src]="img" (load)='loaded=true'>


在属性上设置一个带有*ngIf的div,该属性只有在加载图像时才会变为true

<div class="splash" *ngIf="!loaded"></div>
<img [src]="img" (load)='loaded=true'>


请举例说明您的身份doing@bugs在这里。请提供一个你是什么样的人的例子doing@bugs在这里。我想不是这样的,图像加载速度很慢。。这就是问题所在。是的,我的朋友,即使图像加载缓慢,加载功能也不会被调用,直到图像加载完成。这很好,但是背景图像呢?你可以将所有背景图像也添加为img标签,并添加显示:无;对他们来说。这样,您就可以通过csscan i use(load)在div上跟踪加载的时间,并将它们用作背景图像?如果我用它呢?我想不是这样的,图像加载很慢。。这就是问题所在。是的,我的朋友,即使图像加载缓慢,加载功能也不会被调用,直到图像加载完成。这很好,但是背景图像呢?你可以将所有背景图像也添加为img标签,并添加显示:无;对他们来说。这样,您就可以通过csscan i use(load)在div上跟踪加载的时间,并将它们用作背景图像?如果我把它用在手机上呢?