Показать сообщение отдельно
  #34 (permalink)  
Старый 30.04.2021, 17:39
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

Сообщение от laimas Посмотреть сообщение
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<style>
.holiday {
    text-align: center;
}
</style>
</head>
<body>
<script type="text/javascript">
var holidays = {
    '3': {
        '8': {'start': 8, 'duration': 12, 'compliments': '<img src="https://s0.tchkcdn.com/g-lScF7M4CSF9uPeXq54QRNw/4/22014/640x640/w/0/792c2e17f080c8b4461a3467a34bdf9e_398733855.jpg">'},
        '9': {'start': 12, 'duration': 2, 'compliments': 'Поздравление с Днем счастливых!'}    
    }
}, d = new Date(), m;

if((m = holidays[d.getMonth()+1]) && m[d.getDate()]) {
    //можно записывать в сессионное хранилище условие (метку окончания показа)
    //и проверяя ее в ней, если она есть, сразу отображаем поздравление и запускаем таймер окончания
    //в противном случае запускаем таймер сканирующий время на соответствие началу старта поздравления
    //и при этом событии пишем метку окончания в сессию
    //конечное сравнение для старта, это
    m = m[d.getDate()];
    if(d.getHours()>=m.start) {
        var b = document.createElement('div');
        b.className = 'holiday';
        b.innerHTML = m.compliments;
        document.querySelector('body').appendChild(b)
    }  
}
</script>
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<style>
.holiday {
    text-align: center;
}
</style>
</head>
<body>
<script type="text/javascript">
var holidays = {
    '3': {
        '8': {'start': 8, 'duration': 12, 'compliments': 'С 8 марта !'},
        '9': {'start': 12, 'duration': 2, 'compliments': 'Поздравление с Днем счастливых!'}    
    },
    '4': {
        '11': {'start': 8, 'duration': 12, 'compliments': 'С днём космонавтики !'},
        '30': {'start': 12, 'duration': 2, 'compliments': 'с 30 апреля! '   
    }
},
    '5': {
        '1': {'start': 8, 'duration': 12, 'compliments': 'С 1 мая !'},
        '9': {'start': 12, 'duration': 2, 'compliments': 'С 9 мая !'    
    }
}
},
 d = new Date(), m;

if((m = holidays[d.getMonth()+1]) && m[d.getDate()]) {
    //можно записывать в сессионное хранилище условие (метку окончания показа)
    //и проверяя ее в ней, если она есть, сразу отображаем поздравление и запускаем таймер окончания
    //в противном случае запускаем таймер сканирующий время на соответствие началу старта поздравления
    //и при этом событии пишем метку окончания в сессию
    //конечное сравнение для старта, это
    m = m[d.getDate()];
    if(d.getHours()>=m.start) {
        var b = document.createElement('div');
        b.className = 'holiday';
        b.innerHTML = m.compliments;
        document.querySelector('body').appendChild(b)
    }  
}
</script>
</body>
</html>
Ответить с цитированием