oroscopo_rev2/index.html
2025-04-02 00:06:26 +02:00

553 lines
22 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html" charset="utf-8" />
<title>Titolo</title>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body class="griglia">
<div class="titolo">OROSCOPO DEL PORCO</div>
<div class="content">
<center>
<div id="defaultInput">
<label for="nome">Nome:</label>
<input id="nome" name="nome" />
<br />
<label for="segno">Segno:</label>
<select name="segno" id="segno">
<option>Ariete</option>
<option>Toro</option>
<option>Gemelli</option>
<option>Cancro</option>
<option>Leone</option>
<option>Vergine</option>
<option>Bilancia</option>
<option>Scorpione</option>
<option>Sagittario</option>
<option>Capricorno</option>
<option>Acquario</option>
<option>Pesci</option>
</select>
</div>
<br />
<div id="trovaSegno">
<a href="javascript: void(0)" id="link">Non conosci il tuo segno?</a>
<label for="nascita">Inserisci la tua data di nascita:</label>
<input type="date" id="date" />
<button onclick="trovaSegno()">Trova il tuo segno</button>
</div>
<button onclick="Oroscopo()" id="bottone">
Chiedi il tuo pronostico
</button>
<div id="output"></div>
</center>
</div>
<div class="nomeRiquadro2"><center>Descrizione</center></div>
<div class="desc">
L'oroscopo è un sistema astronomico e astrologico che associa a ogni
persona nata in un giorno preciso del mese di gennaio, il simbolo
zodiacale corrispondente. Esistono due tipi principali di oroscopi: quelli
classici, basati sul modello antico greco romano e quelli moderni che si
sono evoluti nel tempo. Il sistema originario del classico oroscopo era
basato sulla posizione dei pianeti al momento della nascita
dell'individuo. Questo sistema è basato su nove "case" che rappresentano
la vita, l'amore, i rapporti con gli altri e altre aree della personalità.
L'oroscopo ha origini antiche: infatti, il concetto di zodiaco e di
oroscopi si può ritrovare già nell'antica civiltà assira. In epoca romana,
l'astrologo Manilio scrisse un trattato intitolato "Astronomicon" che
descriveva come le stelle influenzassero la vita dei Romani. Nel Medioevo
in Europa, gli oroscopi erano molto popolari e venivano spesso utilizzati
per predire il futuro. Con l'avvento del Rinascimento e dell'Illuminismo,
l'astrologia subì un declino a causa della crescente diffusione delle idee
scientifiche di Galileo Galilei e di Isaac Newton. L'oroscopo moderno è
nato nel XIX secolo con la fondazione della rivista "The Sidereal
Messenger", che pubblicava oroscopi basati sull'osservazione dei pianeti.
Negli anni successivi, l'astrologia ha continuato a evolversi e ad
ampliare le sue teorie e i suoi metodi. L'oroscopo è diventato uno
strumento popolare per comprendere se stessi e il proprio destino. È un
modo per scoprire caratteristiche della propria personalità, abitudini e
preferenze che potrebbero essere nascoste anche a noi stessi.
</div>
<div class="nomeRiquadro1"><center>Stats</center></div>
<div class="stats" id="stats">
<p>
Utenti che hanno fatto affidamento a questo oroscopo:
<span id="conteggioTotale">0</span>
</p>
<table>
<tr>
<td>Utenti di segno ariete: <span id="conteggioAriete">0</span></td>
<td class="tabellaColonna2">
Utenti di segno toro: <span id="conteggioToro">0</span>
</td>
</tr>
<tr>
<td>Utenti di segno gemelli: <span id="conteggioGemelli">0</span></td>
<td class="tabellaColonna2">
Utenti di segno cancro: <span id="conteggioCancro">0</span>
</td>
</tr>
<tr>
<td>Utenti di segno leone: <span id="conteggioLeone">0</span></td>
<td class="tabellaColonna2">
Utenti di segno vergine: <span id="conteggioVergine">0</span>
</td>
</tr>
<tr>
<td>
Utenti di segno bilancia: <span id="conteggioBilancia">0</span>
</td>
<td class="tabellaColonna2">
Utenti di segno scorpione: <span id="conteggioScorpione">0</span>
</td>
</tr>
<tr>
<td>
Utenti di segno sagittario: <span id="conteggioSagittario">0</span>
</td>
<td class="tabellaColonna2">
Utenti di segno capricorno: <span id="conteggioCapricorno">0</span>
</td>
</tr>
<tr>
<td>
Utenti di segno acquario: <span id="conteggioAcquario">0</span>
</td>
<td class="tabellaColonna2">
Utenti di segno pesci: <span id="conteggioPesci">0</span>
</td>
</tr>
</table>
</div>
<div class="nomeRiquadro3"><center>Segno</center></div>
<div class="segno">
</div>
<script>
document.addEventListener("onload", Init());
function Init(){
aggiungiDefault();
impostaImmagine();
}
const segniZodiacali = [
"Ariete",
"Toro",
"Gemelli",
"Cancro",
"Leone",
"Vergine",
"Bilancia",
"Scorpione",
"Sagittario",
"Capricorno",
"Acquario",
"Pesci",
];
/***********************************************Sezione Controls******************************************************************************/
/*color = document.getElementById("color");
costellazione = document.getElementById("costellazione");
document
.getElementById("selezione")
.addEventListener("input", function () {
if (document.getElementById("selezione").value == "Colore") {
costellazione.style.display = "none";
document.body.style = "background-image: none";
color.value = "#000000";
color.style.display = "inline";
} else {
color.style.display = "none";
costellazione.style.display = "inline";
document.getElementById("selezioneCostellazione").value = "Tutte";
document.body.style = 'background-image: url("img/Tutte.png")';
}
});
document
.getElementById("color")
.addEventListener("input", function (event) {
document.body.style = `background-color: ${event.target.value}`;
});
document
.getElementById("selezioneCostellazione")
.addEventListener("input", function () {
document.body.style = `background: url("img/${
document.getElementById("selezioneCostellazione").value
}.png") center no-repeat #071828`;
});
document.getElementById("testo").addEventListener("input", coloreTesto);
function coloreTesto(event) {
document.body.style.color = event.target.value;
}
document.getElementById("bordi").addEventListener("input", coloreBordi);
function coloreBordi(event) {
document.querySelectorAll(".griglia > div").forEach((div) => {
div.style.border = `2px solid ${event.target.value}`;
});
}*/
/*******************************************************************************************************************************************************/
/***********************************************Sezione Stats*******************************************************************************************/
stats = {
contatore: [
"conteggioTotale",
"conteggioAriete",
"conteggioToro",
"conteggioGemelli",
"conteggioCancro",
"conteggioLeone",
"conteggioVergine",
"conteggioBilancia",
"conteggioScorpione",
"conteggioSagittario",
"conteggioCapricorno",
"conteggioAcquario",
"conteggioPesci",
],
aggiornaStat(segno) {
document.getElementById(this.contatore[segno]).innerHTML =
parseInt(document.getElementById(this.contatore[segno]).innerHTML) +
1;
},
};
/*document.getElementById("segno").value.toLowerCase();
// Oggetto per gestire i contatori
let contatori = {};
// Recupera i valori dal localStorage oppure inizializza a 0
segniZodiacali.forEach((segno) => {
contatori[segno] = localStorage.getItem(segno)
? parseInt(localStorage.getItem(segno))
: 0;
});
// totale utenti
let countTotale = localStorage.getItem("countTotale")
? parseInt(localStorage.getItem("countTotale"))
: 0;
// Aggiorna i testi iniziali nella UI
document.getElementById("conteggio").innerHTML = countTotale;
segniZodiacali.forEach((segno) => {
const elem = document.getElementById(`conteggio${capitalize(segno)}`);
if (elem) elem.innerHTML = contatori[segno];
});
// Seleziona il segno, prepara per l'aumento del conteggio
function Segni() {
const segno = document.getElementById("segno").value.toLowerCase();
Conteggio(segno);
}
function Conteggio(segno) {
contatori[segno]++; // Incrementa il conteggio del segno
countTotale++; // Incrementa il conteggio totale
// Salva in localStorage
localStorage.setItem(segno, contatori[segno]);
localStorage.setItem("countTotale", countTotale);
// Aggiorna la UI
document.getElementById(`conteggio${capitalize(segno)}`).innerHTML =
contatori[segno];
document.getElementById("conteggio").innerHTML = countTotale;
}
// Prima lettera maiuscola
function capitalize(str) {
return str.charAt(0).toUpperCase() + str.slice(1);
}*/
/*******************************************************************************************************************************************************/
/***********************************************Sezione Content*****************************************************************************************/
function Oroscopo() {
const frasi = [
"Una nuova opportunità lavorativa si presenta, sfruttala!",
"Ascolta i consigli degli amici, potrebbero essere utili.",
"Attento alle spese, non esagerare.",
"La vita sentimentale si anima, aspettati un sorriso!",
"Concentrati sui tuoi obiettivi e non lasciare che le distrazioni ti rallentino.",
"Sii paziente, i risultati non tarderanno.",
"Un cambiamento di programma potrebbe essere necessario.",
"La tua intuizione è acuta, ascoltala!",
"Non lasciare che le preoccupazioni ti consumino.",
"Il tuo amore per la famiglia e gli amici si rafforza.",
"Sii più aperto ai nuovi progetti, potrebbero essere interessanti!",
"Non esitare a chiedere aiuto quando ne hai bisogno.",
"La tua autorità è riconosciuta e apprezzata.",
"Sii cauto con le tue finanze, non spendere troppo!",
"Non lasciare che la pigrizia ti rallenti.",
"Le tue abilità organizzative sono essenziali per un nuovo progetto.",
"Sii più socievole e aperto con gli altri, potresti scoprire nuove amicizie!",
"Non esitare a chiedere chiarimenti quando ne hai bisogno.",
"La tua vita sociale si anima, aspettati un'intrattenimento!",
"Sii più equilibrato e razionale nelle tue decisioni.",
"Non lasciare che la competitività ti consumi.",
"I segreti di cui sei a conoscenza potrebbero essere utili per aiutare qualcuno.",
"Sii più aperto alle novità e non temere il cambiamento!",
"Non esitare a difendere ciò che è giusto.",
"La tua ambizione si rafforza, sfruttala per raggiungere nuovi obiettivi!",
"Sii più paziente e non affrettarti troppo.",
"Non lasciare che la curiosità ti porti a commettere errori.",
"La tua responsabilità è apprezzata e riconosciuta.",
"Sii più aperto alle novità e non temere il cambiamento!",
"Non esitare a chiedere aiuto quando ne hai bisogno.",
"La tua creatività è essenziale per un nuovo progetto.",
"Sii più socievole e aperto con gli altri, potresti scoprire nuove amicizie!",
"Non lasciare che la curiosità ti porti a commettere errori.",
"La tua intuizione è acuta, ascoltala!",
"Sii più aperto alle novità e non temere il cambiamento!",
"Non esitare a chiedere aiuto quando ne hai bisogno.",
];
document.getElementById("output").innerHTML = "";
if (!(document.getElementById("nome").value === "")) {
if (
!(document.getElementById("segno").value === "Seleziona un segno")
) {
stats.aggiornaStat(0);
stats.aggiornaStat(
stats.contatore.indexOf(
`conteggio${document.getElementById("segno").value}`
)
);
document.getElementById("output").innerHTML =
frasi[Math.floor(Math.random() * frasi.length)];
document.getElementById("bottone").innerHTML =
"Chiedi un altro pronostico";
if (document.getElementById("segno").disabled) {
document.getElementById("segno").disabled = false;
}
let isSegnoDefaultPresent = false;
for (
let i = 0;
i <
document.getElementById("segno").getElementsByTagName("option")
.length && !isSegnoDefaultPresent;
i++
) {
if (
document.getElementById("segno").getElementsByTagName("option")[
i
] == "Seleziona un segno"
) {
document.getElementById("segno").value = "Seleziona un segno";
isSegnoDefaultPresent = true;
}
}
if (!isSegnoDefaultPresent) {
aggiungiDefault();
}
document.getElementById("segno").dispatchEvent(new Event("change"));
document.getElementById("link").style.display = "block";
} else {
alert("Inserire il proprio segno");
}
} else {
alert("Inserire il proprio nome");
}
}
//gestione UI sezione trova segno
document.getElementById("segno").addEventListener("input", function () {
document.getElementById("link").style.display = "none";
});
//mostro la parte per inserire la data e trovare il proprio segno e nascondo defaultInput
document.getElementById("link").addEventListener("click", function () {
document.getElementById("output").innerHTML = "";
document.getElementById("link").style.display = "none";
document.getElementById("defaultInput").style.display = "none";
document.getElementById("bottone").style.display = "none";
document
.querySelectorAll("#trovaSegno > :not(#link)")
.forEach((tag) => (tag.style.display = "block"));
});
function trovaSegno() {
document.getElementById('segno').getElementsByTagName("option")[0].remove()
let isDateInserted = document.getElementById("date").value !== "";
if (isDateInserted) {
const nascita = document.getElementById("date").value.split("-");
const mese = parseInt(nascita[1]);
const giorno = parseInt(nascita[2]);
const campoSegno = document.getElementById("segno");
switch (mese) {
case 3:
if (giorno >= 20) {
campoSegno.value = segniZodiacali[0];
} else {
campoSegno.value = segniZodiacali[11];
}
break;
case 4:
if (giorno >= 19) {
campoSegno.value = segniZodiacali[1];
} else {
campoSegno.value = segniZodiacali[0];
}
break;
case 5:
if (giorno >= 20) {
campoSegno.value = segniZodiacali[2];
} else {
campoSegno.value = segniZodiacali[1];
}
break;
case 6:
if (giorno >= 20) {
campoSegno.value = segniZodiacali[3];
} else {
campoSegno.value = segniZodiacali[2];
}
break;
case 7:
if (giorno >= 22) {
campoSegno.value = segniZodiacali[4];
} else {
campoSegno.value = segniZodiacali[3];
}
break;
case 8:
if (giorno >= 22) {
campoSegno.value = segniZodiacali[5];
} else {
campoSegno.value = segniZodiacali[4];
}
break;
case 9:
if (giorno >= 22) {
campoSegno.value = segniZodiacali[6];
} else {
campoSegno.value = segniZodiacali[5];
}
break;
case 10:
if (giorno >= 22) {
campoSegno.value = segniZodiacali[7];
} else {
campoSegno.value = segniZodiacali[6];
}
break;
case 11:
if (giorno >= 21) {
campoSegno.value = segniZodiacali[8];
} else {
campoSegno.value = segniZodiacali[7];
}
break;
case 12:
if (giorno >= 21) {
campoSegno.value = segniZodiacali[9];
} else {
campoSegno.value = segniZodiacali[8];
}
break;
case 1:
if (giorno >= 20) {
campoSegno.value = segniZodiacali[10];
} else {
campoSegno.value = segniZodiacali[9];
}
break;
case 2:
if (giorno >= 18) {
campoSegno.value = segniZodiacali[11];
} else {
campoSegno.value = segniZodiacali[10];
}
break;
}
document.getElementById("segno").dispatchEvent(new Event("change"));
// Reset della UI a prima di premere il link
document.getElementById("link").style.display = "block";
document.getElementById("defaultInput").style.display = "block";
document.getElementById("bottone").style.display = "block";
document
.querySelectorAll("#trovaSegno > :not(#link)")
.forEach((tag) => (tag.style.display = "none"));
campoSegno.disabled = true;
} else {
alert("Inserire una data completa");
}
}
//gestione immagine segno
function impostaImmagine() {
const immagine = document.createElement("img");
immagine.setAttribute(
"src",
'img/Tutte.png'
);
immagine.setAttribute("width", `${document.getElementsByClassName("segno")[0].offsetWidth}`);
document.getElementsByClassName('segno')[0].appendChild(immagine);
}
document.getElementById("segno").addEventListener("change", function() {
cambiaImmagine(document.getElementById("segno").value);
});
function cambiaImmagine(segno) {
const immagine = document.getElementsByClassName('segno')[0].getElementsByTagName("img")[0];
if(segno == "Seleziona un segno"){
immagine.setAttribute(
"src",
'img/Tutte.png'
);
}
else{
immagine.setAttribute(
"src",
`img/${segno}.png`
);
}
}
//modifiche select del segno dinamiche
function aggiungiDefault() {
const selezioneDefault = document.createElement("option");
selezioneDefault.innerHTML = "Seleziona un segno";
document
.getElementById("segno")
.insertBefore(
selezioneDefault,
document.getElementById("segno").getElementsByTagName("option")[0]
);
document.getElementById("segno").value = "Seleziona un segno";
}
document
.getElementById("segno")
.addEventListener("mousedown", function () {
if (this.value == "Seleziona un segno") {
this.getElementsByTagName("option")[0].remove();
}
});
/*******************************************************************************************************************************************************/
</script>
</body>
</html>