我想我会用我的解决方案在柜面更新这个就派上用场了别人。
我决定使用pace.js插件,这对加载小节非常有用。一旦页面加载完成,它还会向.pace-done
的正文元素添加一个类。 Pace会自动将几个div添加到您的页面顶部,您可以将其设置为进度条。
因此,基本上我在我的内容上设置了一个值opacity: 0;
,这个值包含在.page
div中。直到页面被加载,当我设置opacity: 1;
与淡入内容的过渡。还有一个后备,如果JavaScript没有加载,我们会覆盖样式,以便内容始终可见并且永不透明。
这里是CSS,我会包括我的步伐。JS加载的直板造型,以及:
/**
* When pace.js is running we add `opacity` to the `body` element so we can fade
* the page in with a transition once it's loaded.
*/
.page {
opacity: 0;
.pace-done & {
opacity: 1;
transition: opacity .5s ease;
}
.no-js & {
opacity: 1 !important;
}
}
/**
* Progress bar styles.
*/
.pace {
pointer-events: none;
user-select: none;
}
.pace-inactive {
display: none;
}
.pace .pace-progress {
background: $color-primary;
height: 4px;
position: fixed;
top: 0;
right: 100%;
width: 100%;
z-index: 2000;
}
这所有的一切是一个不错的效果确实很好。这不是非常重要,但我认为在重定向之前我会略微淡化页面,但我需要为此使用JavaScript。这里是我使用的代码:
$(document).ready(function() {
//$('body').css('display', 'none');
//$('body').fadeIn(200);
$('a:not(.page-head__toggle)').click(function() {
event.preventDefault();
newLocation = this.href;
$('body').fadeOut(150, newpage);
});
function newpage() {
window.location = newLocation;
}
});
这不是针对页面上的每个链接,除了我的导航菜单切换。所以,如果你有1000个链接,那也许不是很好。您始终可以指定一个类,并且只添加与该类相关的目标链接。
希望这可以帮助别人! :)
这看起来不错。我之前发现了一些类似的东西,但我总是继续前进,因为它没有加载栏。我不确定可以操纵它来做类似的事情吗? – user1406440
当然你可以假装那个加载栏。只需使用w3schools中的这些示例即可。链接:http://www.w3schools.com/howto/howto_js_progressbar.asp – Maybe
不管加载时间如何,这不会增加宽度吗?只是在想,所以它没有达到100%,然后页面仍在加载? – user1406440