gifのアニメーションの後にコンテンツを表示したいのですが、うまくいきません。おそらく、jQueryの9行目の#main-contentsが'block'になっていないからだと思うのですが、よく分かりません。
どなたか原因が理解できる方、よろしくお願いします。
html
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<meta charset="UTF-8"> 5<link rel="stylesheet" href="css/styles.css"> 6</head> 7<body> 8<div id="loader-bg"> 9<div id="loading"> 10<img src="ajax-loader.gif"> 11</div> 12</div> 13<div id="main-contents"> 14<p>ここにはコンテンツが入ります。</p> 15</div> 16<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> 17<script src="js/main.js"></script> 18</body> 19</html> 20
css
1#loading{ 2position: absolute; 3left: 50%; 4top: 30%; 5} 6#loader-bg { 7position: fixed; 8width: 100%; 9height: 100%; 10top: 0px; 11left: 0px; 12background: #FFF; 13z-index: 1; 14} 15body{ 16background-color: #ccc; 17} 18#main-contents{ 19text-align: center; 20margin-top: 20%; 21} 22
jQuery
1$(function() { 2var h = $(window).height(); //ブラウザウィンドウの高さを取得 3$('#main-contents').css('display','none'); //初期状態ではメインコンテンツを非表示 4$('#loader-bg ,#loader').height(h).css('display','block'); //ウィンドウの高さに合わせでローディング画面を表示 5}); 6$(window).on('load', function () { 7$('#loader-bg').delay(900).fadeOut(800); //$('#loader-bg').fadeOut(800);でも可 8$('#loader').delay(600).fadeOut(300); //$('#loader').fadeOut(300);でも可 9$('#main-contents').css('display', 'block'); // ページ読み込みが終わったらメインコンテンツを表示する 10}); 11
回答2件
あなたの回答
tips
プレビュー