Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с jQuery, не могу разобраться.

Константин Ефименко Гуру (3721), закрыт 4 года назад
Текст скрипта:
<script type="text/javascript">
function CheckTime()
{
var date = new Date();
var specialTime = date.getHours() >= 12 && date.getHours() <= 15;
var specialTime = date.getMinutes() <= 20;
$(".Out").toggle(specialTime);
}
$(function(){
CheckTime();
var interval = setInterval(CheckTime, 1000);
});
</script>
Если сейчас, диапазон от 12 до 15 часов и при этом, меньше или равно 20 минут, то ничего не происходит, иначе элемент <div class="Out"> и всё его содержимое, при помощи toggle() исчезает. Причём проверка времени, происходит каждую секунду, при помощи setInterval().

От сюда возникают 2 вопроса:
Как прикрутить сюда fadeOut('slow'),5000;, чтобы div исчезал не сразу, а затуханием с задержкой в 5 секунд?
Как ко всему прочему, сделать проверку по числу месяца? Потому что, когда я пишу var specialTime = date.getDate() >= 11 && date.getDate() <= 13; или без диапазона, скрипт перестаёт работать.

Я знаю, это связанно с тем, что JavaScript выполняет одну строку за другой, но не ждет, пока закончат выполняться все связанные с ней процессы, а переходит к выполнению следующей строки.

Другими словами, как мне правильно оформить текст скрипта? Уже 4 час бьюсь, не могу сообразить. Если возможно распишите для чайников. Совсем не разбираюсь в JavaScript, и всё что из него вытекает.
Лучший ответ
Elepsis Eclipse Гений (64082) 4 года назад
...
Константин ЕфименкоГуру (3721) 4 года назад
Во первых, я знаю что такое частица НЕ, она так же объявляется и в PHP.
Во вторых, если поставить частицу! перед date.getHours(), то скрипт вообще не отрабатывает.
В третьих, анимация скрытия происходит сразу же после открытия страницы, а не по истечению выбранного времени. Иначе для чего мне дни месяца, часы, минуты?

Я бы не советовал тестировать подобное, на разного рода сторонних ресурсах, ибо они не могут гарантировать корректность своей работы, где либо ещё.
Константин ЕфименкоГуру (3721) 4 года назад
Так отрабатывает: (date.getHours() >= 15 && date.getHours() <= 17 && date.getMinutes() <= 24)
Предложенное после, нет.
Elepsis Eclipse Гений (64082) https://jsfiddle.net/OPTlMUS/5ktdab2x/ - ну работает всё. Надо было скобки поставить.
Остальные ответы
Похожие вопросы