Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   помогите доработать календарь (https://javascript.ru/forum/misc/78011-pomogite-dorabotat-kalendar.html)

laimas 28.07.2019 03:08

Цитата:

Сообщение от Блондинка
что будет если задать фиксированную высоту таблицы?

Календарь будет менять вид. Не высотой таблицы нужно манипулировать, ибо ячейки календаря независимо от месяца должны иметь один и тот же размер, а фиксировать число ячеек календаря. А вписать все месяцы так, чтобы соблюсти эти условия можно только в минимум 7х6 (без учета шапки).

Вы вольны поступать как вам хочется, но календарь который "скачет" по высоте, не самое лучше зрелище. ;)

Блондинка 28.07.2019 03:35

Цитата:

Сообщение от laimas
Календарь будет менять вид.

как будет менять вид? высота таблицы останется неизменной, а высоту строк браузер будет вычислять явтоматически?

laimas 28.07.2019 05:16

То есть, вычисление новых размеров, а значит неизбежное их изменение, это никак не изменение вида?

Мне в общем то все равно, считаете это нормальным, ради бога, я же вам не запрещаю. :) Но интерфейс календаря должен быть таким, что даже стрелка на кнопках назад/вперед под курсором не должна менять позицию при сменах в календаре, иначе грош цена такому интерфейсу.

Malleys 28.07.2019 08:34

Блондинка, чтобы выбрать дату, вы можете...
  • использовать...
    <input type="date">
    
  • поискать js datepicker, решении очень много!
  • попытаться начать делать самим!
    • например, вы можете к варианту из сообщения №80, написанного laimas, добавить программно заголовок типа ◀ Июль, 2019 ▶ И добавить обработчики событии: чтобы при нажатии на стрелки происходило переключение на предыдущий/следующий месяц, при нажатии на название месяца можно было выбрать в раскрывающемся списке любой месяц года, и при нажатии на год можно было ввести любой год! Подумайте, что вам нужно сделать, чтобы достичь такого!

Блондинка 28.07.2019 12:54

laimas,
могу привести несколько пословиц

у каждого свой вкус сказал индус, натягивая на' хрен обезьяну

у каждого художника свои любимые фломастеры

о вкусах не спорят

одним словом такой вариант где высота строк меняется динамически мне больше нравится...

Блондинка 28.07.2019 17:04

...

Malleys 28.07.2019 17:21

Цитата:

Сообщение от Блондинка
могу привести несколько пословиц

А работающий пример вашей идеи можете сделать?

Цитата:

Сообщение от Блондинка
...

Блондинка, получилось добавить программно заголовок типа ◀ Июль, 2019 ▶ ?

Блондинка 28.07.2019 17:31

Русский,
это бесполезно, из-за собственного комплекса неполноценности (из-за незнания Eenglish), пытаться выяснить насколько хорошо я знаю русский язык, а именно область ненормативной лексики... не волнуйся, со временем к окончанию школы твои знания английского улучшатся и комплексы сами пропадут...

Блондинка 30.07.2019 16:24

Цитата:

Сообщение от Malleys
Блондинка, получилось добавить программно заголовок типа ◀ Июль, 2019 ▶ ?

сорри но моих познаний явно недостаточно, я хотела приблизительно такой календарь, который управляется с помощью списка поля ввода и кнопок
<!DOCTYPE HTML>
<html lang="ru">
<head>
  <meta charset="utf-8">
<title></title>
  <style type="text/css">
body { width: 960px; }
body, select, input { font: 14px serif; }
#calendar { width: 330px; display: inline-block; border: 1px solid #a9a9a9; border-radius: 6px/4px; padding: 5px; }
#navigation_panel { background-color: #c5e3ff; height: 53px; border: 1px solid #a9a9a9; border-radius: 6px/4px; padding: 5px; margin-bottom: 3px; text-align: center; vertical-align: middle; }
#navigation_panel button, #navigation_panel #calendar_year { background-color: #94cdff; color: #00f; font: 14px serif; border: 1px solid #00f; }
#calendar_month { background-color: transparent; color: #00f; font: 14px serif; border: 1px solid #00f; }
#navigation_panel button { height: 24px; vertical-align: middle; }
#background_month { background-color: #94cdff; display: inline-block; }
button_minus, button_plus { width: 28px; }
button.minus { border-radius: 6px 0 0 6px / 4px 0 0 4px; margin-right: -5px; }
button.plus { border-radius: 0 6px 6px 0 / 0 4px 4px 0; margin-left: -5px; }
#month_plus { margin-right: 35px; }
#presently { width: 252px; margin-top: 5px; border-radius: 6px/4px; }
#calendar_month { width: 89px; display: inline-block; }
#calendar_year { width: 54px; display: inline-block; }
select { height: 24px; }
input { height: 20px; border: 1px solid #a9a9a9; display: inline-block; text-align: center; }
#table { width: 100%; height: 222px; padding: 2px; }
#table, td { border: 1px solid #a9a9a9; border-radius: 6px/4px; }
td { margin: 1px; text-align: center; }
td.week-day { height: 33px; }
</style>
</head>
<body>
<div id="calendar">
<div id="navigation_panel">
<button class="minus">‹</button>
<span id="background_month"><select id="calendar_month"><option>Август</option></select></span>
<button class="plus" id="month_plus">›</button>
<button class="minus">‹</button>
<input type="text" size="4" id="calendar_year">
<button class="plus">›</button><br>
<button id="presently">сегодня</button>
</div>
<table id="table">
<tr><td class="week-day">Пн.</td><td class="week-day">Вт.</td><td class="week-day">Ср.</td><td class="week-day">Чт.</td><td class="week-day">Пт.</td><td class="week-day">Сб.</td><td class="week-day">Вс.</td></tr>
<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
</table>
</div>
</body>
</html>

могу только предположить что начинать нужно с того что сначала надо вставить блок с элементами управления а потом уже таблицу.

Блондинка 30.07.2019 16:35

laimas,
а такой вопрос, может элементы навигации лучше разместить в одну строчку и выравнивать По центру в обоих случаях, когда кнопка сегодня видна или скрыта...


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