Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как сделать переменную? (https://javascript.ru/forum/misc/78930-kak-sdelat-peremennuyu.html)

Блондинка 07.12.2019 10:32

как к красному иду добавить синий цвет ид? А потом у синего ида получить только день недели без других компонентов даты?

document.getElementById("Catholic_Easter_gr", " Catholic_Easter_ul_day").innerHTML = formatDate(date0_1);

Блондинка 07.12.2019 10:41

Цитата:

Сообщение от laimas (Сообщение 516918)
Очень понятно. )

document.getElementById("Catholic_Easter_gr").innerHTML = formatDate(catholicDate(year));

а здесь, еще раз просто catholicDate(year)

var date0_1 = catholicDate(year);

и

document.getElementById("Catholic_Easter_gr").innerHTML = formatDate(date0_1);

Почему, что есть что здесь не понять.

у меня просто по другому не получилось получить Catholic_Easter_ul

Блондинка 07.12.2019 11:59

чтобы ид не повторялись, как сделать что-то типа

<!DOCTYPE html>
<html>
<head>
  <title></title>
</head>
<body>
  <div>
    <input id="YearEntry" type="number" min="326" max="4099" step="1" value="2019" />
    <input id="button1" type="button" value="Расcчитать" />
  </div>
 
  <script type="text/javascript">
    "use strict";
    var btn = document.querySelector("#button1");
    btn.addEventListener("click", () => {
      vat yearEntry = document.querySelector("#YearEntry").value;
      if (yearEntry <= 325) {
        // code
      } else if (yearEntry >= 326 && yearEntry <= 1582) {
        // code
      } else if (yearEntry >= 1683 && yearEntry <= 4099) {
        // code
      } else if (yearEntry >= 4100) {
        // code
      }
    });
  </script>
</body>
</html>

laimas 07.12.2019 13:17

Какие меньше 325 и больше 4100, если у вас вывод только в два блока? Да и как понять что во что? Я же русским языком (с примесью английского) пишу:

как понять чего тут надо, если в один и тот же ID "Catholic_Easter_gr" сначала вставляют дату как

document.getElementById("Catholic_Easter_gr").innerHTML = formatDate(catholicDate(year)); //строка 220


а затем опять тоже самое, но через пень колоду

var date0_1 = catholicDate(year); //строка 222 
document.getElementById("Catholic_Easter_gr").innerHTML = formatDate(date0_1); //строка 223


Я не буду разбираться где и при каких условиях Христос был католикам, а где православным. Просто возьмите эти строки кода и распишите что строка 220 относится к блоку с периодом 325-1582 (или другому), а строка 223 к другому блоку, и т.д. по остальным ID в строках. Хоть что-то будет конкретное, а так для меня это какая-то каша.

Блондинка 07.12.2019 15:15

у меня не получилось к строке
document.getElementById("Catholic_Easter_gr").innerHTML = formatDate(catholicDate(year));

отнять разницу и получить

var date0 = new Date(date0_1.getFullYear(), date0_1.getMonth(), date0_1.getDate() - razn);  document.getElementById("Catholic_Easter_ul").innerHTML = formatDate(date0);


и только добавив методом тыка строку
document.getElementById("Catholic_Easter_gr").innerHTML = formatDate(date0_1);

что то получилось

Блондинка 07.12.2019 15:20

если меньше 325 показать один див с текстом, если больше 4100 показать один див с другим текстом

до 1582 не было нового стиля и расчёты были только по старому стилю что и равняется расчёту православной пасхи

laimas 07.12.2019 15:25

Я не спрашиваю, что у вас получается, а что нет, я прошу конкретного, здесь:

document.getElementById("Catholic_Easter_gr").innerHTML = formatDate(catholicDate(year)); //это об элементе какого блока речь?
     
    var date0_1 = catholicDate(year);
    document.getElementById("Catholic_Easter_gr").innerHTML = formatDate(date0_1); //а этот где?
     
    var date0 = new Date(date0_1.getFullYear(), date0_1.getMonth(), date0_1.getDate() - razn);
    document.getElementById("Catholic_Easter_ul").innerHTML = formatDate(date0); //а этот?
     
    var date1 = orthodoxDate(year);
    document.getElementById("Orthodox_Easter_ul").innerHTML = formatDate(date1);
     
    var date1_1 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate() + razn);
    document.getElementById("Orthodox_Easter_gr").innerHTML = formatDate(date1_1);
 
    var date2 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate() + 9);
    document.getElementById("Orthodox_Radunitsa_ul").innerHTML = formatDate(date2);
 
    var date2_1 = new Date(date1_1.getFullYear(), date1_1.getMonth(), date1_1.getDate() + 9);
    document.getElementById("Orthodox_Radunitsa_gr").innerHTML = formatDate(date2_1);
 
    var date3 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate() - 7);
    document.getElementById("palm_Sunday_Orthodox_ul").innerHTML = formatDate(date3);
 
    var date3_1 = new Date(date1_1.getFullYear(), date1_1.getMonth(), date1_1.getDate() - 7);
    document.getElementById("palm_Sunday_Orthodox_gr").innerHTML = formatDate(date3_1);
 
    var date4 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate() - 49);
    document.getElementById("Maslenitsa_Orthodox_ul").innerHTML = formatDate(date4);
 
    var date4_1 = new Date(date1_1.getFullYear(), date1_1.getMonth(), date1_1.getDate() - 49);
    document.getElementById("Maslenitsa_Orthodox_gr").innerHTML = formatDate(date4_1);


И так по всем строкам, где ссылается на элемент по ID, можете написать о каком именно элементе речь идет? Они же у вас практически все дубликатами.

Блондинка 07.12.2019 19:02

если название оканчивается на _gr это дата по григорианскому календарю

если на ul по юлианскому календарю

в периоде 326-1582 только даты по юлианскому календарю, в периоде 1583-4099 даты по обоим календарям

laimas 07.12.2019 20:18

Вы не понимаете о чем я прошу. У вас сейчас два блока в котором есть элементы, в которых помещается вами определенные даты. Первый блок, это с атрибутом range="[326,1582]", и второй range="[1583,4099]". В каждом из этих блоков есть дубликаты ID. А это ваши строки, которыми вы в эти ID помещаете даты (взяты только строки и ID, по порядку из вашего кода):

document.getElementById("Catholic_Easter_gr").innerHTML = formatDate(catholicDate(year));
document.getElementById("Catholic_Easter_gr").innerHTML = formatDate(date0_1);
document.getElementById("Catholic_Easter_ul").innerHTML = formatDate(date0);
document.getElementById("Orthodox_Easter_ul").innerHTML = formatDate(date1);
document.getElementById("Orthodox_Easter_gr").innerHTML = formatDate(date1_1);
document.getElementById("Orthodox_Radunitsa_ul").innerHTML = formatDate(date2);
document.getElementById("Orthodox_Radunitsa_gr").innerHTML = formatDate(date2_1);
document.getElementById("palm_Sunday_Orthodox_ul").innerHTML = formatDate(date3);
document.getElementById("palm_Sunday_Orthodox_gr").innerHTML = formatDate(date3_1);
document.getElementById("Maslenitsa_Orthodox_ul").innerHTML = formatDate(date4);
document.getElementById("Maslenitsa_Orthodox_gr").innerHTML = formatDate(date4_1);


Напишите комментарий к каждой строке в какой блок она должна помещать - в первый или второй. У вас первые две строки это одно и тоже в расчетах, значит это должно выводиться и в первом, и во втором, то есть понятно. А остальные что куда, это вы можете написать? Я уже говорил, я не буду разбираться с днем рождения Христа, и не хочу, и некогда. :)

Блондинка 08.12.2019 00:40

document.getElementById("Catholic_Easter_gr").innerHTML = formatDate(catholicDate(year)); // во втором
document.getElementById("Catholic_Easter_gr").innerHTML = formatDate(date0_1); // во втором 
document.getElementById("Catholic_Easter_ul").innerHTML = formatDate(date0); // во втором 
document.getElementById("Orthodox_Easter_ul").innerHTML = formatDate(date1); // в обоих блоках
document.getElementById("Orthodox_Easter_gr").innerHTML = formatDate(date1_1); // во втором
document.getElementById("Orthodox_Radunitsa_ul").innerHTML = formatDate(date2); // в обоих блоках
document.getElementById("Orthodox_Radunitsa_gr").innerHTML = formatDate(date2_1); // во втором
document.getElementById("palm_Sunday_Orthodox_ul").innerHTML = formatDate(date3); // в обоих блоках
document.getElementById("palm_Sunday_Orthodox_gr").innerHTML = formatDate(date3_1); // во втором
document.getElementById("Maslenitsa_Orthodox_ul").innerHTML = formatDate(date4); // в обоих блоках
document.getElementById("Maslenitsa_Orthodox_gr").innerHTML = formatDate(date4_1); // во втором


Часовой пояс GMT +3, время: 13:11.