原則あなたが本当のJavaScriptコードに興味があれば私に戻って取得
幸運です。
pace.jsプラグインを使用することにしました。このプラグインは、バーのロードに非常に便利です。また、ページがロードされた後に、ボディエレメントに.pace-done
というクラスを追加します。 Paceは、ページの上部に2つのdivを自動的に追加します。このdivは、進行状況バーとしてスタイルを設定できます。
私は基本的に divにラップされたコンテンツにopacity: 0;
という値を設定しました。ページが読み込まれるまでコンテンツがフェードインするように、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