Javascript, HTML, CSS Code
Copy
<html>
<head>
<script type="text/javascript"> window.addEventListener('error', function(event) { var message = JSON.parse(JSON.stringify(event.message)); var source = event.filename; var lineno = event.lineno; var colno = event.colno; var error = event.error; window.parent.postMessage({ type: 'iframeError', details: { message: message, source: source, lineno: lineno, colno: colno, error: error ? error.stack : '' } }, '*'); }); window.addEventListener('unhandledrejection', function(event) { window.parent.postMessage({ type: 'iframePromiseRejection', details: { reason: event.reason } }, '*'); }); </script>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Astrological Sign Calculator</title>
<meta name="description" content="Find out your astrological sign based on your birthdate">
<meta name="keywords" content="astrology, zodiac, signs, calculator">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<!-- Built-In Functions for Apps -->
<script type="text/javascript">
var localStoragePrefix = "ct-168117699738045";
var lastSave = 0;
// save to localstorage
function saveLocal(data) {
if (Date.now() - lastSave < 1000) {
return;
}
// save to cookie
let cookie = localStoragePrefix + "=" + JSON.stringify(data) + "; path=" + window.location.pathname + "'; SameSite=Strict";
cookie += "; expires=" + new Date(Date.now() + 1000 * 60 * 60 * 24 * 365 * 1000).toUTCString();
document.cookie = cookie;
lastSave = Date.now();
}
// load from localstorage
function loadLocal() {
var cookiePrefix = localStoragePrefix + "=";
var cookieStart = document.cookie.indexOf(cookiePrefix);
if (cookieStart > -1) {
let cookieEnd = document.cookie.indexOf(";", cookieStart);
if (cookieEnd == -1) {
cookieEnd = document.cookie.length;
}
var cookieData = document.cookie.substring(cookieStart + cookiePrefix.length, cookieEnd);
return JSON.parse(cookieData);
}
}
</script>
<script type="text/javascript">
// App Javascript Goes Here
function getAstrologicalSign(day, month) {
var signs = [
{ name: "Capricorn", emoji: "♑️", startDate: "12-22", endDate: "01-19" },
{ name: "Aquarius", emoji: "♒️", startDate: "01-20", endDate: "02-18" },
{ name: "Pisces", emoji: "♓️", startDate: "02-19", endDate: "03-20" },
{ name: "Aries", emoji: "♈️", startDate: "03-21", endDate: "04-19" },
{ name: "Taurus", emoji: "♉️", startDate: "04-20", endDate: "05-20" },
{ name: "Gemini", emoji: "♊️", startDate: "05-21", endDate: "06-20" },
{ name: "Cancer", emoji: "♋️", startDate: "06-21", endDate: "07-22" },
{ name: "Leo", emoji: "♌️", startDate: "07-23", endDate: "08-22" },
{ name: "Virgo", emoji: "♍️", startDate: "08-23", endDate: "09-22" },
{ name: "Libra", emoji: "♎️", startDate: "09-23", endDate: "10-22" },
{ name: "Scorpio", emoji: "♏️", startDate: "10-23", endDate: "11-21" },
{ name: "Sagittarius", emoji: "♐️", startDate: "11-22", endDate: "12-21" },
];
var birthDate = new Date(null, month - 1, day);
for (var i = 0; i < signs.length; i++) {
var startDate = new Date(null, signs[i].startDate.split("-")[0] - 1, signs[i].startDate.split("-")[1]);
var endDate = new Date(null, signs[i].endDate.split("-")[0] - 1, signs[i].endDate.split("-")[1]);
if (birthDate >= startDate && birthDate <= endDate) {
return signs[i];
}
}
}
function calculateSign() {
var day = parseInt($("#day").val());
var month = parseInt($("#month").val());
if (!isNaN(day) && !isNaN(month)) {
var sign = getAstrologicalSign(day, month);
if (sign) {
$("#sign-name").text(sign.name);
$("#sign-emoji").text(sign.emoji);
}
}
}
$(document).ready(function() {
$("#calculate-btn").on("click", calculateSign);
});
</script>
<style>
/* App CSS Goes Here */
body {
font-family: "Roboto", sans-serif;
background-color: #f5f5f5;
}
.zodiac-container {
background-color: white;
border-radius: 10px;
padding: 20px;
margin-top: 20px;
}
.form-container {
display: flex;
justify-content: center;
margin-bottom: 10px;
}
.result-container {
text-align: center;
}
#sign-name {
font-size: 24px;
font-weight: bold;
}
#sign-emoji {
font-size: 48px;
}
</style>
<link rel="canonical" href="https://calculator.tools/prompt/183/">
<meta charset="utf-8">
</head>
<body>
<div id="main-container" class="container">
<!-- App HTML Goes Here -->
<h1 class="text-center mt-4">Astrological Sign Calculator</h1>
<div class="zodiac-container">
<div class="form-container">
<input type="number" id="month" class="form-control" placeholder="Month (1-12)" min="1" max="12" required>
<input type="number" id="day" class="form-control" placeholder="Day (1-31)" min="1" max="31" required>
<button id="calculate-btn" class="btn btn-primary">Calculate</button>
</div>
<div class="result-container">
<div id="sign-name"></div>
<div id="sign-emoji"></div>
</div>
</div>
</div>
<script type="text/javascript"> var localStoragePrefix = "ct-{{ cachebreaker }}"; var lastSave = 0; function saveLocal(data) { if (Date.now() - lastSave < 1000) { return; } let cookie = localStoragePrefix + "=" + JSON.stringify(data) + "; path=" + window.location.pathname + "'; SameSite=Strict"; cookie += "; expires=" + new Date(Date.now() + 1000 * 60 * 60 * 24 * 365 * 1000).toUTCString(); document.cookie = cookie; lastSave = Date.now(); } function loadLocal() { var cookiePrefix = localStoragePrefix + "="; var cookieStart = document.cookie.indexOf(cookiePrefix); if (cookieStart > -1) { let cookieEnd = document.cookie.indexOf(";", cookieStart); if (cookieEnd == -1) { cookieEnd = document.cookie.length; } var cookieData = document.cookie.substring(cookieStart + cookiePrefix.length, cookieEnd); return JSON.parse(cookieData); } } </script>
<script type="text/javascript"> window.addEventListener('load', function() { var observer = new MutationObserver(function() { window.parent.postMessage({height: document.documentElement.scrollHeight || document.body.scrollHeight},"*"); }); observer.observe(document.body, {attributes: true, childList: true, subtree: true}); window.parent.postMessage({height: document.documentElement.scrollHeight || document.body.scrollHeight},"*"); }); </script>
</body>
</html>