problems:diagnostics:coralclose
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| problems:diagnostics:coralclose [2025/10/28 15:52] – Вадим Мартовский | problems:diagnostics:coralclose [2026/07/31 12:15] (текущий) – Вадим Мартовский | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | < | + | ==== 🌊 Умная диагностика кораллов ==== |
| + | |||
| + | <html><!-- 🌊 Умная диагностика кораллов ( htmlok=1) --> | ||
| < | < | ||
| - | .coral-step { margin: | + | .coral-step { |
| - | .coral-step h3 { margin:0 0 8px 0; color:# | + | |
| - | .coral-btn { display: | + | |
| - | .coral-btn: | + | |
| - | .coral-response { margin:10px 0 0 0; padding: | + | |
| - | transition: | + | |
| - | | + | max-width: 600px; |
| - | | + | font-family: |
| - | overflow: hidden;} | + | } |
| - | .coral-hide { display: none; } | + | .coral-step h3 { |
| + | | ||
| + | | ||
| + | text-align: center; | ||
| + | } | ||
| + | .coral-btn { | ||
| + | | ||
| + | width: 100%; | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | transition: 0.2s; | ||
| + | | ||
| + | } | ||
| + | .coral-btn: | ||
| + | .coral-btn-nav { | ||
| + | background: #607d8b; | ||
| + | width: 48%; | ||
| + | } | ||
| + | .coral-btn-nav: | ||
| + | .coral-btn-home { | ||
| + | background: #455a64; | ||
| + | width: 48%; | ||
| + | } | ||
| + | .coral-btn-home: | ||
| - | + | .coral-response { | |
| - | .coral-response: | + | |
| - | | + | |
| - | height: auto; | + | |
| padding: 10px; | padding: 10px; | ||
| + | background: #fff3cd; | ||
| + | border-radius: | ||
| + | border: 1px solid #ffeeba; | ||
| + | font-size: 14px; | ||
| } | } | ||
| + | .coral-history { | ||
| + | background: #eef7fa; | ||
| + | padding: 8px; | ||
| + | border-radius: | ||
| + | font-size: 13px; | ||
| + | margin-bottom: | ||
| + | } | ||
| + | .coral-history-item { | ||
| + | margin-bottom: | ||
| + | } | ||
| + | .coral-history-item span { | ||
| + | color: #00695c; | ||
| + | } | ||
| + | .coral-nav { | ||
| + | display: flex; | ||
| + | justify-content: | ||
| + | gap: 6px; | ||
| + | margin-top: 12px; | ||
| + | } | ||
| </ | </ | ||
| - | < | + | < |
| - | < | + | |
| - | | + | <!-- 🧠 JSON-структура сценария --> |
| - | < | + | <script type="application/ |
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | "answers": { | ||
| + | | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | }, | ||
| - | <div id="norm" | + | |
| - | | + | |
| - | Если ткани | + | " |
| - | | + | " |
| - | </ | + | " |
| + | } | ||
| + | | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | "none": { | ||
| + | | ||
| + | }, | ||
| - | <div id="problem" | + | |
| - | | + | |
| - | | + | " |
| - | | + | " |
| - | | + | " |
| - | < | + | } |
| - | </ | + | |
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | | ||
| + | "infect_no": { | ||
| + | | ||
| + | }, | ||
| + | "one_species_some": { | ||
| + | | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | "answers": { | ||
| + | | ||
| + | " | ||
| + | } | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| - | <div id="fast" | + | |
| - | Есть | + | |
| - | | + | " |
| - | | + | " |
| - | | + | " |
| - | | + | " |
| - | </ | + | " |
| + | } | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | | ||
| + | "multi_mixed": { | ||
| + | | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | }, | ||
| + | "multi_env": { | ||
| + | | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | }, | ||
| + | "multi_env_yes": { | ||
| + | | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| - | <div id="damageyes" | + | |
| - | | + | |
| - | Изолируйте повреждённый участок, при необходимости обработайте.<br> | + | " |
| - | | + | " |
| - | | + | " |
| - | | + | " |
| + | } | ||
| + | | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | "all_corals_long": { | ||
| + | | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | "all_corals_long_no": { | ||
| + | | ||
| + | } | ||
| + | | ||
| + | } | ||
| - | <div id=" | + | </script> |
| - | Были изменения в аквариуме? | + | |
| - | < | + | |
| - | <button class=" | + | |
| - | <button class=" | + | |
| - | <button class=" | + | |
| - | <button class=" | + | |
| - | <button class=" | + | |
| - | <button class=" | + | |
| - | <button class=" | + | |
| - | | + | |
| - | | + | <script> |
| - | < | + | (function(){ |
| - | ✔️ Отодвиньте новый коралл или соседа подальше.< | + | |
| - | Оцените, | + | |
| - | <button class=" | + | |
| - | <button class=" | + | |
| - | | + | |
| - | <div id=" | + | |
| - | ✔️ Проверьте интенсивность и спектр освещения.< | + | |
| - | Верните прежнюю лампу или отрегулируйте мощность.< | + | |
| - | <button class=" | + | |
| - | <button class=" | + | |
| - | | + | |
| - | <div id=" | + | |
| - | ✔️ Проверьте дозировку всех добавок, | + | |
| - | <button class=" | + | |
| - | <button class=" | + | |
| - | </ | + | |
| - | <div id=" | + | |
| - | ✔️ Переместите коралл в зону мягкого потока или скорректируйте направление течения.< | + | |
| - | <button class=" | + | |
| - | <button class=" | + | |
| - | </ | + | |
| - | <div id=" | + | |
| - | ✔️ Возможен взвесь/ | + | |
| - | Аккуратно продуйте коралл, | + | |
| - | <button class=" | + | |
| - | <button class=" | + | |
| - | | + | |
| - | <div id=" | + | |
| - | ✔️ Если никаких изменений — проверьте параметры воды, на паразитов.< | + | |
| - | <button class=" | + | |
| - | <button class=" | + | |
| - | </ | + | |
| - | | + | |
| - | < | + | const step = data.steps[id]; |
| - | | + | let html = '<div class=" |
| - | | + | |
| - | <button class=" | + | |
| - | </div> | + | |
| - | </ | + | // История |
| + | if (path.length) { | ||
| + | html += '< | ||
| + | path.forEach(p => { | ||
| + | html += `<div class=" | ||
| + | < | ||
| + | < | ||
| + | | ||
| + | }); | ||
| + | html += '</ | ||
| + | } | ||
| - | <script> | + | if(step.question) html += '<p>< |
| - | function showStep(id) { | + | if(step.text) html += '< |
| - | | + | |
| - | | + | if(step.answers){ |
| - | } | + | for(const key in step.answers){ |
| - | function backToStart() { | + | html += '< |
| - | | + | } |
| - | } | + | } |
| - | function | + | |
| - | | + | html += ` |
| - | | + | <div class=" |
| - | } | + | <button class=" |
| - | function hideAll() { | + | <button class=" |
| - | var steps = document.querySelectorAll('.coral-response'); | + | </ |
| - | steps.forEach(function(s){ s.classList.add('coral-hide' | + | `; |
| - | } | + | |
| + | html += '</ | ||
| + | | ||
| + | |||
| + | Array.from(root.querySelectorAll(' | ||
| + | | ||
| + | const next = this.getAttribute(' | ||
| + | if (next === ' | ||
| + | | ||
| + | |||
| + | const q = this.getAttribute('data-q' | ||
| + | const a = this.getAttribute(' | ||
| + | if (q && a) path.push({question: | ||
| + | renderStep(next); | ||
| + | root.scrollIntoView({behavior:' | ||
| + | }); | ||
| + | }); | ||
| + | } | ||
| + | |||
| + | if (document.readyState === ' | ||
| + | document.addEventListener('DOMContentLoaded', () => renderStep(' | ||
| + | else renderStep(' | ||
| + | })(); | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | |||
| + | < | ||
| + | ---- | ||
problems/diagnostics/coralclose.1761655943.txt.gz · Последнее изменение: — Вадим Мартовский
