ํƒœ๊ทธ ๋ณด๊ด€๋ฌผ: html

html

ํŽ˜์ด์ง€ ๋กœ๋”ฉ์ด ์™„๋ฃŒ ๋  ๋•Œ๊นŒ์ง€ ํŽ˜์ด์ง€ ๋กœ๋”ฉ div๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์›น ์‚ฌ์ดํŠธ์— ์ง‘์ค‘์ 

์›น ์‚ฌ์ดํŠธ์— ์ง‘์ค‘์  ์ธ ํ˜ธ์ถœ์„ํ•˜๋Š” ๋™์•ˆ ์ƒ๋‹นํžˆ ๋А๋ฆฌ๊ฒŒ๋กœ๋“œ๋˜๋Š” ์„น์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

divํŽ˜์ด์ง€๊ฐ€ ์ค€๋น„๋˜๋Š” ๋™์•ˆ ํ‘œ์‹œํ•˜๊ณ  ๋ชจ๋“  ์ค€๋น„๊ฐ€๋˜๋ฉด ์‚ฌ๋ผ์ง€๋Š” โ€œ๋กœ๋“œ ์ค‘โ€๊ณผ ๋น„์Šทํ•œ ๋ง์„ ํ•  ์ˆ˜์žˆ๋Š” ์•„์ด๋””์–ด ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?



๋‹ต๋ณ€

๋‚˜๋Š” ์ด๊ฒƒ์„ ํ•„์š”๋กœํ–ˆ๊ณ  ์•ฝ๊ฐ„์˜ ์—ฐ๊ตฌ ํ›„์— ๋‚˜๋Š” ์ด๊ฒƒ์„ ์ƒ๊ฐํ•ด ๋ƒˆ๋‹ค ( jQuery๊ฐ€ ํ•„์š”ํ•˜๋‹ค) :

๋จผ์ € <body>ํƒœ๊ทธ ๋ฐ”๋กœ ๋‹ค์Œ์— ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค.

<div id="loading">
  <img id="loading-image" src="images/ajax-loader.gif" alt="Loading..." />
</div>

๊ทธ๋Ÿฐ ๋‹ค์Œ div ๋ฐ ์ด๋ฏธ์ง€์˜ ์Šคํƒ€์ผ ํด๋ž˜์Šค๋ฅผ CSS์— ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค.

#loading {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: fixed;
  display: block;
  opacity: 0.7;
  background-color: #fff;
  z-index: 99;
  text-align: center;
}

#loading-image {
  position: absolute;
  top: 100px;
  left: 240px;
  z-index: 100;
}

๊ทธ๋Ÿฐ ๋‹ค์Œ์ด ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํŽ˜์ด์ง€์— ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค (๋ฐ”๋žŒ์งํ•˜๊ฒŒ๋Š” ํŽ˜์ด์ง€ ๋, ๋‹ซ๋Š” </body>ํƒœ๊ทธ ์•ž ).

<script>
  $(window).load(function() {
    $('#loading').hide();
  });
</script>

๋งˆ์ง€๋ง‰์œผ๋กœ background-colour์Šคํƒ€์ผ ํด๋ž˜์Šค ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๋”ฉ ์ด๋ฏธ์ง€์˜ ์œ„์น˜์™€ ๋กœ๋”ฉ div ์˜ ์œ„์น˜๋ฅผ โ€‹โ€‹์กฐ์ •ํ•˜์‹ญ์‹œ์˜ค .

์ด๊ฒƒ์ด ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฌผ๋ก  ajax-loader.gif์–ด๋”˜๊ฐ€์— ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค . ์—ฌ๊ธฐ ๊ณต์งœ . (์˜ค๋ฅธ์ชฝ ํด๋ฆญ> ๋‹ค๋ฅธ ์ด๋ฆ„์œผ๋กœ ์ด๋ฏธ์ง€ ์ €์žฅ โ€ฆ)


๋‹ต๋ณ€

์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ํŽ˜์ด์ง€๊ฐ€๋กœ๋“œ ๋  ๋•Œ ์ „์ฒด ์ฐฝ์„ ๋ฎ๋Š” div๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. CSS ์ „์šฉ ๋กœ๋”ฉ ์Šคํ”ผ๋„ˆ๊ฐ€ ์ž๋™์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์œˆ๋„์šฐ (๋ฌธ์„œ๊ฐ€ ์•„๋‹˜)์˜ ๋กœ๋”ฉ์ด ์™„๋ฃŒ ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ ๋‹ค์Œ ์˜ต์…˜์œผ๋กœ ๋ช‡ ์ดˆ ๋” ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

  • jQuery 3๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค (์ƒˆ๋กœ์šด ์ฐฝ๋กœ๋“œ ์ด๋ฒคํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค)
  • ์ด๋ฏธ์ง€๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์ง€๋งŒ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • ๋” ๋งŽ์€ ๋ธŒ๋žœ๋”ฉ ๋˜๋Š” ์ง€์นจ์— ๋Œ€ํ•œ ์ง€์—ฐ ๋ณ€๊ฒฝ
  • ์˜์กด์„ฑ์€ jQuery์ž…๋‹ˆ๋‹ค.

https://projects.lukehaas.me/css-loaders์˜ CSS ๋กœ๋” ์ฝ”๋“œ

    
$('body').append('<div style="" id="loadingDiv"><div class="loader">Loading...</div></div>');
$(window).on('load', function(){
  setTimeout(removeLoader, 2000); //wait for page load PLUS two seconds.
});
function removeLoader(){
    $( "#loadingDiv" ).fadeOut(500, function() {
      // fadeOut complete. Remove the loading div
      $( "#loadingDiv" ).remove(); //makes page more lightweight 
  });  
}
        .loader,
        .loader:after {
            border-radius: 50%;
            width: 10em;
            height: 10em;
        }
        .loader {            
            margin: 60px auto;
            font-size: 10px;
            position: relative;
            text-indent: -9999em;
            border-top: 1.1em solid rgba(255, 255, 255, 0.2);
            border-right: 1.1em solid rgba(255, 255, 255, 0.2);
            border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
            border-left: 1.1em solid #ffffff;
            -webkit-transform: translateZ(0);
            -ms-transform: translateZ(0);
            transform: translateZ(0);
            -webkit-animation: load8 1.1s infinite linear;
            animation: load8 1.1s infinite linear;
        }
        @-webkit-keyframes load8 {
            0% {
                -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
            }
            100% {
                -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
            }
        }
        @keyframes load8 {
            0% {
                -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
            }
            100% {
                -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
            }
        }
        #loadingDiv {
            position:absolute;;
            top:0;
            left:0;
            width:100%;
            height:100%;
            background-color:#000;
        }
This script will add a div that covers the entire window as the page loads. It will show a CSS-only loading spinner automatically. It will wait until the window (not the document) finishes loading.

  <ul>
    <li>Works with jQuery 3, which has a new window load event</li>
    <li>No image needed but it's easy to add one</li>
    <li>Change the delay for branding or instructions</li>
    <li>Only dependency is jQuery.</li>
  </ul>

Place the script below at the bottom of the body.

CSS loader code from https://projects.lukehaas.me/css-loaders

<!-- Place the script below at the bottom of the body -->

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

๋‹ต๋ณ€

window.onload = function(){ document.getElementById("loading").style.display = "none" }
#loading {width: 100%;height: 100%;top: 0px;left: 0px;position: fixed;display: block; z-index: 99}

#loading-image {position: absolute;top: 40%;left: 45%;z-index: 100} 
<div id="loading">
<img id="loading-image" src="img/loading.gif" alt="Loading..." />
</div>  

JS์—์„œ ๋งŒ๋“ค์–ด์ง„ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํŽ˜์ด๋“œ ์•„์›ƒ ํšจ๊ณผ๋ฅผ ๊ฐ€์ง„ ์ด๋ฏธ์ง€ ๋กœ๋”ฉ ์ด๋ฏธ์ง€ :


๋‹ต๋ณ€

๋‚˜๋Š” ๋‚˜๋ฅผ ์œ„ํ•ด ์™„๋ฒฝํ•˜๊ฒŒ ํšจ๊ณผ๊ฐ€์žˆ๋Š” ๋˜ ๋‹ค๋ฅธ ๊ฐ„๋‹จํ•œ ํ•ด๊ฒฐ์ฑ…์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋จผ์ € ์•„๋ž˜ ํ‘œ์‹œ๋œ ๊ฒƒ์ฒ˜๋Ÿผ GIF๋ฅผ๋กœ๋“œํ•˜๋ฉด์„œ ํˆฌ๋ช… ์˜ค๋ฒ„๋ ˆ์ด ์ธ Lockon ํด๋ž˜์Šค ๋ผ๋Š” ์ด๋ฆ„์˜ CSS๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

.LockOn {
    display: block;
    visibility: visible;
    position: absolute;
    z-index: 999;
    top: 0px;
    left: 0px;
    width: 105%;
    height: 105%;
    background-color:white;
    vertical-align:bottom;
    padding-top: 20%; 
    filter: alpha(opacity=75); 
    opacity: 0.75; 
    font-size:large;
    color:blue;
    font-style:italic;
    font-weight:400;
    background-image: url("../Common/loadingGIF.gif");
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
}

์ด์ œ ํŽ˜์ด์ง€๊ฐ€๋กœ๋“œ ๋  ๋•Œ๋งˆ๋‹ค ์ „์ฒด ํŽ˜์ด์ง€๋ฅผ ์˜ค๋ฒ„๋ ˆ์ด๋กœ ๋‹ค๋ฃจ๋Š”์ด ํด๋ž˜์Šค๋กœ div๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

<div id="coverScreen"  class="LockOn">
</div>

์ด์ œ ํŽ˜์ด์ง€๊ฐ€ ์ค€๋น„ ๋  ๋•Œ๋งˆ๋‹ค์ด ํ‘œ์ง€ ํ™”๋ฉด์„ ์ˆจ๊ฒจ์•ผํ•˜๋ฉฐ ํŽ˜์ด์ง€๊ฐ€ ์ค€๋น„ ๋  ๋•Œ๊นŒ์ง€ ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฒคํŠธ๋ฅผ ํด๋ฆญ / ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์ œํ•œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$(window).on('load', function () {
$("#coverScreen").hide();
});

์œ„์˜ ํ•ด๊ฒฐ์ฑ…์€ ํŽ˜์ด์ง€๊ฐ€๋กœ๋“œ ๋  ๋•Œ๋งˆ๋‹ค ์ข‹์Šต๋‹ˆ๋‹ค.

์ด์ œ ํŽ˜์ด์ง€๊ฐ€๋กœ๋“œ ๋œ ํ›„์— ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„ํŠผ์ด๋‚˜ ์ด๋ฒคํŠธ๊ฐ€ ์˜ค๋ž˜ ๊ฑธ๋ฆด ๋•Œ๋งˆ๋‹ค ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํด๋ผ์ด์–ธํŠธ ํด๋ฆญ ์ด๋ฒคํŠธ์— ํ‘œ์‹œํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

$("#ucNoteGrid_grdViewNotes_ctl01_btnPrint").click(function () {
$("#coverScreen").show();
});

์ฆ‰,์ด ์ธ์‡„ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด (๋ณด๊ณ ์„œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆผ) ํ‘œ์ง€๊ฐ€ GIF๋กœ ํ‘œ์‹œ๋˜์–ด ๊ฒฐ๊ณผ๊ฐ€ ํ‘œ์‹œ๋˜๊ณ  ํŽ˜์ด์ง€๊ฐ€๋กœ๋“œ ๋œ ์ƒํƒœ์—์„œ ์ฐฝ ์œ„์— ํŽ˜์ด์ง€๊ฐ€ ์ค€๋น„๋˜๋ฉด ํ‘œ์ง€ ํ™”๋ฉด์ด ์ˆจ๊ฒจ์ง‘๋‹ˆ๋‹ค. ํ™”๋ฉด์ด ์™„์ „ํžˆ๋กœ๋“œ๋˜๋ฉด


๋‹ต๋ณ€

๋‚ด์šฉ์˜ ๊ธฐ๋ณธ๊ฐ’ display:none์„ ์„ค์ • ํ•œ ๋‹ค์Œ display:block์™„์ „ํžˆ๋กœ๋“œ ๋œ ํ›„์— ์„ค์ • ํ•˜๊ฑฐ๋‚˜ ์ด์™€ ์œ ์‚ฌํ•œ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ๊ฐ– ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ display:blockโ€œ๋กœ๋“œ ์ค‘โ€์œผ๋กœ ์„ค์ •๋œ div๊ฐ€ ์žˆ๊ณ  display:none์ด์ „๊ณผ ๋™์ผํ•œ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ์—์„œ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค .


๋‹ต๋ณ€

๊ธ€์Ž„, ์ด๊ฒƒ์€ ์ฃผ๋กœ โ€˜์ง‘์ค‘์  ์ธ ํ˜ธ์ถœโ€™์— ํ•„์š”ํ•œ ์š”์†Œ๋ฅผ๋กœ๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋‹ฌ๋ ค ์žˆ์œผ๋ฉฐ, ์ดˆ๊ธฐ ์ƒ๊ฐ์€ ์•„์•ฝ์Šค๋ฅผ ํ†ตํ•ด๋กœ๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ โ€˜beforeSendโ€™์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์•„์•ฝ์Šค ํ˜ธ์ถœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$.ajax({
  type: 'GET',
  url: "some.php",
  data: "name=John&location=Boston",

  beforeSend: function(xhr){           <---- use this option here
     $('.select_element_you_want_to_load_into').html('Loading...');
  },

  success: function(msg){
     $('.select_element_you_want_to_load_into').html(msg);
  }
});

ํŽธ์ง‘
์ด ๊ฒฝ์šฐ jQuery 'display:block'/'display:none'์™€ ํ•จ๊ป˜ ์œ„ ์˜ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉ $(document).ready(...)ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด $(document).ready()ํ•จ์ˆ˜๋Š” ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์ „์ฒด ๋ฌธ์„œ ๊ตฌ์กฐ๊ฐ€๋กœ๋“œ๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค ( ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋“  ๋ฏธ๋””์–ด๊ฐ€๋กœ๋“œ ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค ). ๋‹น์‹ ์€ ์ด๋Ÿฐ ์‹์œผ๋กœ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค :

$(document).ready( function() {
  $('table#with_slow_data').show();
  $('div#loading image or text').hide();
});

๋‹ต๋ณ€

๋‚ด ๋ธ”๋กœ๊ทธ๋Š” 100 % ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

function showLoader()
{
    $(".loader").fadeIn("slow");
}
function hideLoader()
{
    $(".loader").fadeOut("slow");
}
.loader {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background: url('pageLoader2.gif') 50% 50% no-repeat rgb(249,249,249);
    opacity: .8;
}
<div class="loader">