/
vovkka4
/
Body99
Обзор
Документация
Войти
/
vovkka4
/
Body99
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
script.js
172 строки
8 KB
vovkka4
upload files
15 фев 2026, 18:49
Верифицирован
15 фев 2026, 18:49
c2f2f4c
Код
Авторство
О чём код?
// Инициализация VK Bridge vkBridge.send('VKWebAppInit'); let currentPage = 'guide'; // Страницы приложения const pages = { guide: ` <div class="card"> <div class="card-title">📚 Гайд для начинающих</div> <p>Добро пожаловать в Body Concept Lab!</p> <p>Здесь вы найдете всю информацию о правильном питании и тренировках.</p> </div> <div class="card"> <div class="card-title">🥗 Основы питания</div> <p>• Ешьте больше белка</p> <p>• Пейте достаточно воды</p> <p>• Избегайте быстрых углеводов</p> <p>• Соблюдайте режим питания</p> </div> <div class="card"> <div class="card-title">💪 Советы по тренировкам</div> <p>• Тренируйтесь 3-4 раза в неделю</p> <p>• Не забывайте про разминку</p> <p>• Следите за техникой</p> <p>• Отдыхайте между подходами</p> </div> `, calculator: ` <div class="card"> <div class="card-title">🧮 Калькулятор калорий</div> <input type="number" id="weight" class="calc-input" placeholder="Ваш вес (кг)" min="30" max="200"> <input type="number" id="height" class="calc-input" placeholder="Ваш рост (см)" min="100" max="250"> <input type="number" id="age" class="calc-input" placeholder="Ваш возраст" min="10" max="100"> <select id="activity" class="calc-input"> <option value="1.2">Минимальная активность</option> <option value="1.375">Слабая активность (1-3 раза в неделю)</option> <option value="1.55">Умеренная активность (3-5 раз в неделю)</option> <option value="1.725">Высокая активность (6-7 раз в неделю)</option> </select> <button onclick="calculateCalories()" class="calc-btn">Рассчитать</button> <div id="result" class="calc-result"> Введите данные и нажмите "Рассчитать" </div> </div> `, products: ` <div class="card"> <div class="card-title">🍎 Полезные продукты</div> <div class="product-item"> <span class="product-name">Куриная грудка (100г)</span> <span class="product-calories">165 ккал</span> </div> <div class="product-item"> <span class="product-name">Гречка (100г)</span> <span class="product-calories">343 ккал</span> </div> <div class="product-item"> <span class="product-name">Яйцо (1 шт)</span> <span class="product-calories">78 ккал</span> </div> <div class="product-item"> <span class="product-name">Авокадо (1 шт)</span> <span class="product-calories">234 ккал</span> </div> <div class="product-item"> <span class="product-name">Лосось (100г)</span> <span class="product-calories">208 ккал</span> </div> <div class="product-item"> <span class="product-name">Брокколи (100г)</span> <span class="product-calories">34 ккал</span> </div> <div class="product-item"> <span class="product-name">Творог 5% (100г)</span> <span class="product-calories">121 ккал</span> </div> </div> `, nutrition: ` <div class="card"> <div class="card-title">📋 Примерный план питания</div> <div class="meal-time">🍳 Завтрак (8:00)</div> <div class="meal-desc"> • Овсянка на молоке - 200г<br> • Яйцо вареное - 2 шт<br> • Чай без сахара </div> <div class="meal-time">🥗 Обед (13:00)</div> <div class="meal-desc"> • Куриная грудка - 150г<br> • Гречка - 150г<br> • Овощной салат - 200г </div> <div class="meal-time">🍎 Полдник (16:00)</div> <div class="meal-desc"> • Творог - 150г<br> • Яблоко - 1 шт </div> <div class="meal-time">🥘 Ужин (19:00)</div> <div class="meal-desc"> • Рыба на пару - 150г<br> • Овощи тушеные - 200г </div> </div> <div class="card"> <div class="card-title">💧 Водный режим</div> <p>Рекомендуется пить 30-35 мл воды на 1 кг веса</p> <p>• Утром после пробуждения</p> <p>• За 30 минут до еды</p> <p>• Через час после еды</p> </div> ` }; // Функция для отображения текущей страницы function renderPage() { document.getElementById('content').innerHTML = pages[currentPage]; } // Функция для расчета калорий function calculateCalories() { const weight = parseFloat(document.getElementById('weight').value); const height = parseFloat(document.getElementById('height').value); const age = parseFloat(document.getElementById('age').value); const activity = parseFloat(document.getElementById('activity').value); // Проверка на корректность ввода if (!weight || !height || !age || weight < 30 || height < 100 || age < 10) { document.getElementById('result').innerHTML = '❌ Пожалуйста, введите корректные данные'; return; } // Формула Харриса-Бенедикта для мужчин (упрощенно) const bmr = 88.36 + (13.4 * weight) + (4.8 * height) - (5.7 * age); const calories = Math.round(bmr * activity); document.getElementById('result').innerHTML = ` ✅ Ваша дневная норма: <strong>${calories} ккал</strong><br> <small>Для поддержания веса</small> `; } // Обработчики событий при загрузке страницы document.addEventListener('DOMContentLoaded', function() { // Показываем главную страницу renderPage(); // Обработчики для кнопок меню document.querySelectorAll('.menu-btn').forEach(btn => { btn.addEventListener('click', function() { // Убираем активный класс у всех кнопок document.querySelectorAll('.menu-btn').forEach(b => b.classList.remove('active')); // Добавляем активный класс нажатой кнопке this.classList.add('active'); // Меняем страницу currentPage = this.dataset.page; renderPage(); }); }); });