Трекер встречCSS

Разбираемся в CSS
Ответить
Anonymous
 Трекер встреч

Сообщение Anonymous »


Я пытаюсь создать что-то вроде компактного трекера/создателя встреч с помощью javascript. Проблема в том, что я совершенно новичок в JavaScript, поэтому не могу создать сценарий для создания элемента списка там, где я хочу. Кроме того, я бы хотел, чтобы событие оставалось там, пока я его не удалю.
HTML-код:

Код: Выделить всё



Create Appointment

Date:
[i]

Name:


Time:


SUBMIT



Appointments


[list]
[*]
[b]Antonio[/b] - Lun 10/10, 10:30[/i]
X[/b]

[/list]



Weekly Avaiability


DAY
TIME


Lun:
22.30+


Mar:
Off


Mer:
22.30+


Gio:
22.30+


Ven:
22.30+


Sab:
off


Dom:
off





CSS-код:

Код: Выделить всё

body {
background-color: #111;
justify-content: center;
align-items: center;
}

.wrapper {
border: 0px solid red;
display: flex;
justify-content: center;
align-items: center;
width: 1000px;
height: 300px;
}

.prenotazione {
border: 0px solid white;
width: 300px;
height: 200px;
background-color: #0A0A0A;
background-image: url('https://i.imgur.com/9enYmpg.jpeg');
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}

.titolo {
border-bottom: 1px dashed #707070;
width: 80%;
font-family: georgia;
font-size: 15px;
color: #8A8264;
}

.inserimento {
border: 0px solid white;
width: 80%;
margin-top: 10px;
padding: 5px;
}

.spacer {
height: 5px;
border: 0px solid white;
}

input {
max-width: 120px;
background-color: rgba(0,0,0,0);
border: none;
font-family: georgia;
font-size: 12px;
color: #707070;
text-shadow: 0px 0px 1px #000;
text-align: right;
display: flex;
float: right;
}

input:focus {
outline: none;
border-bottom: 1px dashed #707070;
}

label {
width: 30%;
border: none;
border-left: 2px solid #8A8264;
padding: 0 0 0 3px;
font-family: georgia;
font-size: 12px;
color: #424343;
text-shadow: 0px 0px 1px #000;
margin-right: 0;
}

button {
border: 1px dashed #8A8264;
background-color: #111;
padding: 5px;
font-family: georgia;
font-size: 12px;
width: 50%;
height: 30px;
color: #424343;
text-shadow: 0px 0px 1px #000;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
cursor: pointer;
transition: linear .5s;
}

.inserimento button:hover {
color: #8A8264;
letter-spacing: 3px;
line-height: 15px;
transition: linear .5s;
}

.disp {
border: 0px solid white;
width: 300px;
height: 200px;
margin-left: 30px;
background-color: #0A0A0A;
background-image: url('https://i.imgur.com/9enYmpg.jpeg');
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}

.tabDis {
width: 50%;
margin-top: 10px;
border: 0px solid white;
border-collapse: collapse;
font-family: georgia;
font-size: 11px;
text-align: center;
color: #424343;
text-shadow: 0px 0px 1px #000;
}

th {
color: #707070;
border-bottom: 1px solid #8A8264;
font-size: 9px;
padding: 0 0 3px 0;
letter-spacing: 2px;
}

td {
height: 15px;
width: 50%;
text-transform: uppercase;
}

#left {
text-align: left;
border-right:  1px dashed #707070;
}

#right {
text-align: right;
}

.eventi {
border: 0px solid white;
width: 300px;
height: 200px;
margin-left: 30px;
background-color: #0A0A0A;
background-image: url('https://i.imgur.com/9enYmpg.jpeg');
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}

.scroll {
width: 80%;
height: 110px;
margin-top: 10px;
border: 0px solid red;
overflow: auto;

text-shadow: 0px 0px 1px #000;
}

#eventList {
width: 100%;
list-style: none;
padding: 0;
color: #424343;
}

#eventList li {
margin: 5px 0;
padding: 0 0 0 5px;
border-left: 2px solid #8A8264;
}

#eventList strong {
color: #707070;
}

#eventList button {
width: 25px;
height: 25px;
margin-left: 10px;
opacity: 1;
}

#eventList button:hover {
color: #8A8264;
}

::-webkit-scrollbar {
width: 2px;
}
Страница предварительного просмотра:

Я хотел бы взять все данные из левой формы и отобразить их в среднем элементе div, как в примере, который я сделал (вручную).
При поиске в Интернете я нашел код и попытался адаптировать его под свои нужды, придумав следующее:

Код: Выделить всё

// Definiamo l'array per gli eventi (= prenotazioni)
let events = [];

// Prendiamo i dati dagli Input
let eventDataInput = document.getElementById("eventData");

let eventNameInput = document.getElementById("eventName");

let eventTimeInput = document.getElementById("eventTime");

let eventList = document.getElementById("eventList");

let eventIdCounter = 1;

// Funzione per creare gli eventi
function addEvent() {
let data = eventDataInput.value;
let name = eventPGInput.value;
let orario = eventTimeInput.value;

if (data && name && orario) {
// Creiamo un ID unico
let eventId = eventIdCounter++;

events.push(
{
id: eventId, date: data,
nome: name, ora: orario
}
);
eventDataInput.value = "";
eventPGInput.value = "";
eventTimeInput.value = "";
displayReminders();
}
}

// Funzione per eliminare un evento con l'ID
function deleteEvent(eventId) {
// Trova l'ID richiesto
let eventIndex = events.findIndex(
(event) => event.id === eventId);

if (eventIndex !== -1) {
// Rimuovi l'evento dall'array
events.splice(eventIndex, 1);
displayReminders();
}
}

// Funzione per trovare giorno della settimana
function toDayString() {
const weekday = ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"];
const d = event.date;
let day = weekday[d.getDay()];
}

// Funzione per mostrare i reminders (= prenotazioni)
function displayReminders() {
eventList.innerHTML = "";
for (let i = 0; i < events.lenght; i++) {
let event = events[i];
let eventData = new Date(event.date);
let listItem = document.createElement("li");
listItem.innerHTML =
`[b]${event.nome}[/b] -
${eventData.toLocaleDateString()}, ${event.ora}[/i]`;

// Aggiungiamo il pulsante per cancellare
let deleteButton =
document.createElement("button");
deleteButton.className = "delete";
deleteButton.textContent = "X";
deleteButton.onclick = function() {
deleteEvent(event.id);
};

listItem.appendChild(deleteButton);
eventList.appendChild(listItem);
}
}
Проблема сейчас в том, что когда я нажимаю «Отправить», скрипт только удаляет созданный мною пример, но не создает новый элемент списка. .

Кроме того, каждый раз, когда я перезагружаю страницу, все сбрасывается, но я хочу, чтобы созданные встречи оставались.
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/790 ... nt-tracker
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «CSS»