2014-11-12 4 views
0

Я пытаюсь сделать div, перекрывающий весь сайт, чтобы исчезнуть, когда страница загружается с несколькими секундами задержки. ДИВ Безразлично не выцветает, и я понятия не имею, почему ...fadeOut + delay не работает должным образом

$("#loading").delay(3000).fadeOut(3000);
#loading { 
 
\t width:100%; 
 
\t height:100%; 
 
\t z-index:500; 
 
\t background:#000; 
 
\t position:absolute; 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div id="loading"></div>

+0

Необходимо описать, что он делает. Разве это не задерживается? Разве это не исчезает? –

+0

Кажется, все отлично работает, даже фрагмент работает отлично? – adeneo

ответ

0

Вы ищете setTimeout()

setTimeout(function() { 
    $("#loading").fadeOut(3000); 
}, 3000); 

От jQuery .delay() docs:

Метод .delay() лучше всего задерживать между jQuery в очереди эффекты. Поскольку он ограничен - он, например, не предлагает способ отменить задержку. .delay() не является заменой встроенной функции JavaScript setTimeout, которая может быть более подходящей для определенных случаев использования .

+0

Почему? '.fadeOut()' - это эффект jQuery в очереди. Для этого создан '.delay()'. –

+0

На самом деле это не один из тех случаев, когда 'setTimeout' более подходит – adeneo

+0

Спасибо! setTimeout() работал – user3716760

Смежные вопросы