Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.09.2020, 22:33
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 600

обновлять элемент раз в сутки
Есть такой скрипт

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
</head>
<body>
<style>
#clock { overflow: hidden; }
#clock .date { clear: left; text-align: center; width: 100px; }
#clock .date .data .digit {
    border: 1px solid #0000FF;
    float: left;
    width: 26px;
    font-size: 200%;
    text-align: center;
    margin: 0 1.5px;
}
#clock .date .digit {
    border: 1px inset #00FF00;
    margin: 0 1px;
}
</style>
<span id="clock"></span>
<script>
function clock() {
    setTimeout(clock, 500);
    var date = new Date();
    var day = date.getDate();
    var month = date.getMonth();
    var year = date.getFullYear();
    var weekday = date.getDay();
    var months = ["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"];
    var dayNames = ["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"];
 
    function numberWrapInSpan(num) {
        num = String(num);
        if(num.length === 1) num = "0" + num;
        for (var i = 0, html = ""; i < num.length; i++) html += "<span class=\"digit\">" + num.charAt(i) + "</span>";
        return html;
    }
    day = numberWrapInSpan(day), year = numberWrapInSpan(year);
    document.getElementById("clock").innerHTML = "<div class='date'>"+dayNames[weekday]+"<div class ='data'>"+(day<10?"0":"")+day+"</div>"+months[month]+"<br>"+year+"<span class = 'digit'>г.</span></div>"; }
clock();
</script>
</body>
</html>


нет смысла обновлять раз в 0.5-1 секунды, как сделать обновление раз в сутки, в 00:00 ?
Ответить с цитированием
  #2 (permalink)  
Старый 26.09.2020, 23:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 29,115

Сообщение от Блондинка
как сделать обновление раз в сутки, в 00:00
вычислить время до конца суток и заменить 500 в строке 26.
Ответить с цитированием
  #3 (permalink)  
Старый 26.09.2020, 23:41
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 600

Сообщение от рони Посмотреть сообщение
вычислить время до конца суток и заменить 500 в строке 26.
рони, вопрос как всё это реализовать, и добавить к этому обновление раз в 24ч по таймеру?

Последний раз редактировалось Блондинка, 26.09.2020 в 23:49.
Ответить с цитированием
  #4 (permalink)  
Старый 26.09.2020, 23:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 29,115

Блондинка,

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
</head>
<body>
<style>
#clock { overflow: hidden; }
#clock .date { clear: left; text-align: center; width: 100px; }
#clock .date .data .digit {
    border: 1px solid #0000FF;
    float: left;
    width: 26px;
    font-size: 200%;
    text-align: center;
    margin: 0 1.5px;
}
#clock .date .digit {
    border: 1px inset #00FF00;
    margin: 0 1px;
}
</style>
<span id="clock"></span>
<script>
function clock() {
    var date = new Date();
    var day = date.getDate();
    var month = date.getMonth();
    var year = date.getFullYear();
    var weekday = date.getDay();
    var time = new Date(year, month, day + 1, 0, 0, 0, 0)  -  date;
    setTimeout(clock, time);
    var months = ["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"];
    var dayNames = ["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"];

    function numberWrapInSpan(num) {
        num = String(num);
        if(num.length === 1) num = "0" + num;
        for (var i = 0, html = ""; i < num.length; i++) html += "<span class=\"digit\">" + num.charAt(i) + "</span>";
        return html;
    }
    day = numberWrapInSpan(day), year = numberWrapInSpan(year);
    document.getElementById("clock").innerHTML = "<div class='date'>"+dayNames[weekday]+"<div class ='data'>"+(day<10?"0":"")+day+"</div>"+months[month]+"<br>"+year+"<span class = 'digit'>г.</span></div>"; }
clock();
</script>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 27.09.2020, 17:50
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 600

рони,
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заменить DOM элемент user_name Общие вопросы Javascript 8 23.05.2015 11:14
Создать на странице элемент HTML mort_ Общие вопросы Javascript 2 29.03.2015 23:10
Можно ли узнать какой элемент находится под данным? nbq Javascript под браузер 2 14.03.2015 19:58
удаляет элемент массива только 1 раз djmansys Events/DOM/Window 1 20.06.2014 07:23
Кодировка при использовании Ajax Nichloas AJAX и COMET 9 17.09.2009 15:06