Habe mal eine Uhr mit Datum gebastelt, sieht gut aus so weit, nur bekomme ich sie im Xobor-Forum nicht zum Laufen.
Trotz Bemühungen und ändern der CSS -Tags ohne Erfolg, das sieht so schrecklich aus
Ich weiß auch nicht, ob ich im JavaScript Fehler dort drinnen habe. In Codepen sieht alles gut aus, da geht alles so weit, nur leider nicht hier im Xobor-Forum. Das Javascript ist mit im HTML eingefügt.
Habe auch versucht Erklärungen einzufügen, so gut ich kann, darin bin ich noch nicht so gut. Z.B. ( <!-- Titel --> ) und ( /* Titel*/ ) usw. muss auch noch die Begriffe lernen, wie das alles heißt.
Uhr mit Datum & Herzschlag - Formatiert fürs Forum
Hallo Daishi, Du bist ja unermüdlich mit Deinen Ideen und Vorschläge! Vor allen Dingen haben sie immer etwas besonderes!
Normalerweise lasse ich bei Uhren die Sekunden gerne weg, weil ein ständiger Wechsel zu viel Unruhe mit sich bringt. Ähnlich kann es bei Laufschriften sein! Aber Dein Uhrenvorschlag ist genial! Hier pulsiert die Sekunde wie ein Herzschlag! Für mich fast beruhigend!
Der Fehler der sich eingeschlichen hat liegt wohl am fehlenden Wert für die Breite der Uhr! Entweder ist hier für ein Semikolon ein Komma reingerutscht und die Breite wird nicht umgesetzt oder der Wert für die Breite steht auf "auto"! Es kann auch sein, dass schon vorhandene Classes das Skript beeinflussen! Bei mir wird die Uhr nicht so auseinandergezogen!
Um die Uhr im Forum gut darzustellen, muss man schauen was die Classes und ID's so beinflussen!
Sternchen (*) und body in der CSS wirken sich nach wie vor aufs ganze Forum aus! Da nur die Uhr zu Geltung gebracht werden soll, muss man schauen, welche Div-Container mit Farbe und Schrift versorgt werden müssen!
Ansonsten läuft die Uhr recht gut!
Was ich geändert habe:
Das Skript ist auch genial, weil man viel verändern kann! Habe die Datumsangabe auf Deutsch umgestellt!
Habe gleich alle CSS-Tags namendlich erweitert, damit keine doppelte Classes Ärger machen!
Habe die CSS so verändert, dass man über die Schriftgröße in Zeile 5 die Größe der Uhr verändern kann. Der Rest der Uhr passt sich automatisch an!
Habe mal wieder die Google-Importschrift herausgenommen und durch "Arial" ersetzt!
Läuft in allen Templates, auch Mobil!
Installation für alle Templates & Mobil
Das Skript und der CSS-Eintrag kann für die Templates (v1-4) in die "Kopf- oder Fußzeile", als PIugin in den "Obere Leiste / footer" oder fürs Xobor (v6) & Mobil in Eigenes Javascript, Eigene Fußzeile , HTML vor Navigation oder Eigene Kopfzeile kopiert werden!!
In Zeile 5 kann über die Schriftgröße die Größe der Uhr eingestellt werden!
In Zeile 4, 56, 68 + 7 kann die Farbe der Uhr bestimmt werden!
Ich alter Nörgelsack bin es wieder... Die Uhr habe ich heute nochmal angepasst - man kann da schön spielen. Aber nun: auf der mobilen Seite sieht es nicht schön aus. Die Umrandungen der Uhrzeit Ziffern sind zu schmal. Kann ich den Skript einfach ins CSS mobile Ansicht einfügen und dann verändern?
Grüße aus Radeberg Arndt
Themen bei der Community für Transportunternehmer und Führungskräfte der Transport- und Logistikbranche:
/* Backdrop styling */ dialog[open]::backdrop { background-color: rgba(from black r g b / 0.5); backdrop-filter: blur(3px); opacity: 1; @starting-style { opacity: 0; } transition: opacity 1000ms ease-in; /* this doesn't appear to be working */ }
if (window.matchMedia('(max-width: 800px)').matches) { $('.clockTitle, .clickClock').hide(); } if ($(".backClock").hasClass("clockStart1")) { $('img', this).attr('title','Zurück zum Beitrag'); $('.clockTitle').toggleClass('clockStart3');
const RADIUS = 140; // Radius of the circle for flag buttons
// map for default regions based on languageFlags const defaultRegions = languageFlags.reduce((map, lang) => { const baseLang = lang.code.split('-')[0]; // Extract the base language (e.g., 'en' from 'en-US') if (!map[baseLang]) { map[baseLang] = lang.code; } return map; }, {});
function getLocale() { // cet the primary language from navigator.languages or fallback to navigator.language let language = (navigator.languages && navigator.languages[0]) || navigator.language || 'en-US';
// not all browsers return the complete lang code so we have to add it from the mapped values if (language.length === 2) { language = defaultRegions[language] || `${language}-${language.toUpperCase()}`; } return language; }
// define the value set and current value for each clock type switch (clockType) { case 'seconds': valueSet = Array.from({ length: 60 }, (_, i) => String(i).padStart(2, '0')); currentValue = String(currentSeconds).padStart(2, '0'); break; case 'minutes': valueSet = Array.from({ length: 60 }, (_, i) => String(i).padStart(2, '0')); currentValue = String(currentMinutes).padStart(2, '0'); break; case 'hours': valueSet = Array.from({ length: 24 }, (_, i) => String(i).padStart(2, '0')); currentValue = String(currentHours).padStart(2, '0'); break; case 'days': valueSet = Array.from({ length: totalDaysInMonth }, (_, i) => i + 1); currentValue = currentDay; break; case 'months': valueSet = monthNames; currentValue = currentMonth; break; case 'years': valueSet = Array.from({ length: 101 }, (_, i) => 2000 + i); currentValue = currentYear; break; case 'day-names': valueSet = weekdayNames; currentValue = currentWeekday; break; default: return; }
// create and position elements on the clock face valueSet.forEach((value, i) => { const angle = (i * (360 / numbers)); const x = center + RADIUS * Math.cos((angle * Math.PI) / 180); const y = center + RADIUS * Math.sin((angle * Math.PI) / 180);
// Handle hover: display language name in the center of the parent container radioWrapper.addEventListener('mouseover', () => showTitle(lang.name, radioWrapper)); radioWrapper.addEventListener('mouseleave', () => hideTitle());
// Show title (language name) in the center let titleDisplay = null; // Declare titleDisplay globally for reuse function showTitle(languageName) { if (titleDisplay) { titleDisplay.remove(); } titleDisplay = document.createElement('div'); titleDisplay.classList.add('language-title'); titleDisplay.textContent = languageName; // Update the title with the language name languageOptionsContainer.appendChild(titleDisplay);
} function hideTitle() { if (titleDisplay) { titleDisplay.textContent = ''; } } // Set current language display button flag and title function setCurrentLangDisplay(lang) { currentLangDisplay.textContent = lang.flag; currentLangDisplay.title = lang.name; showTitle(lang.name) } function openDialog() { languageDialog.showModal(); createLanguageOptions(); addDialogCloseListener(); } function closeDialog() { languageDialog.close(); removeLanguageOptions(); removeDialogCloseListener(); } function removeLanguageOptions() { languageOptionsContainer.innerHTML = ''; } function addDialogCloseListener() { languageDialog.addEventListener('click', closeDialogOnClickOutside); } function removeDialogCloseListener() { languageDialog.removeEventListener('click', closeDialogOnClickOutside); } function closeDialogOnClickOutside(e) { if (e.target === languageDialog) { closeDialog(); } }
// dialog close button event closeButton.addEventListener('click', closeDialog);
// current language display - open dialog with lang buttons currentLangDisplay.addEventListener('click', openDialog); //console.log(locale);