2017-02-07 79 views
0

我想通过在整个身体上快速更改不透明度来获得非常简单的加载效果。因此,我使用以下CSS页面加载时的不透明度转换不会在加载时启动

body { 
    opacity: 0; 
    transition: opacity 2s; 
} 

body.show-page { 
    opacity: 1; 
} 

并在加载时添加.show-page。这里是现场代码http://plnkr.co/edit/Ze5TiqkZYiM41VJZVDuB?p=preview

由于某些原因,它不会过渡。加载页面后,如果我添加/删除此类,则转换工作,但加载时不会发生。任何想法为什么?

+0

哪些浏览器您使用?您可能需要供应商前缀 – Pixelomo

+0

Chrome 55 ...... – ilyo

+0

我认为您需要在body标记'''中设置零不透明度。那么它将从启动加载应用,但不会在CSS加载后应用 – Banzay

回答

0

你的脚本将身体前运行已完成加载的脚本是身体标签内。

你也许想是这样的:

function fadeIn() { 
    var body = document.getElementsByTagName('body')[0]; 
    body.className += 'show-page'; 
} 
window.onload = fadeIn; 

Updated Plunker

0

一种解决方法可以稍微延迟(50毫秒)的JS这样做:

setTimeout(function(){body.className += 'show-page';}, 50);