Тест Название Форума

    Информация о пользователе

    Привет, Гость! Войдите или зарегистрируйтесь.


    Вы здесь » Тест Название Форума » Новый форум » тестируем скрипты


    тестируем скрипты

    Сообщений 1 страница 2 из 2

    1

    Код:
    <script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/52361.js"></script>
    <script type="text/javascript">
    HTMLinPost.groups = [1,2,3,4,5,6,7,8,9,10]; // Группы, допущенные к вставке HTML в посты
    HTMLinPost.noAccess = []; // Пользователи с запретом вставки HTML в посты
    HTMLinPost.parseHTMLinPosts()
    </script>
    <script src="//hostjs-mybb2011.narod.ru/js/transform_code_boxr.js?"></script>

    0

    2

    [html]<style>
    .chest-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1px;
      max-width: 644px;
      margin: 20px auto;
      padding: 20px;
      justify-items: center;
    }

    .chest-item {
      position: relative;
      width: 160px;
      height: 149px;
      cursor: pointer;
      transition: all 0.3s ease;
      overflow: hidden;
    }

    .chest-image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 5px;
      transition: all 0.3s ease;
    }

    .chest-overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(139, 0, 0, 0.7);
      backdrop-filter: blur(5px);
      -webkit-backdrop-filter: blur(5px);
      color: white;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      opacity: 0;
      transition: opacity 0.3s ease;
      border-radius: 5px;
      font-family: 'Philosopher', sans-serif;
      text-align: center;
    }

    .chest-item:hover .chest-overlay {
      opacity: 1;
    }

    .chest-number {
      font-size: 24px;
      margin-bottom: 5px;
      color: #fc6014;
      text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
    }

    .chest-status {
      font-size: 14px;
      color: #c89f6e;
      text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
      margin-bottom: 8px;
    }

    .chest-button {
      background: linear-gradient(135deg, #8B0000 0%, #4a0000 100%);
      color: white;
      border: none;
      padding: 6px 12px;
      border-radius: 5px;
      cursor: pointer;
      font-family: 'Philosopher', sans-serif;
      font-size: 12px;
      transition: all 0.3s ease;
      margin-top: 5px;
    }

    .chest-button:hover {
      background: linear-gradient(135deg, #a52a2a 0%, #5a0000 100%);
      transform: scale(1.05);
    }

    /* Статусы */
    .chest-taken .chest-overlay {
      background: rgba(117, 117, 117, 0.7);
      backdrop-filter: blur(5px);
      -webkit-backdrop-filter: blur(5px);
    }

    .chest-taken .chest-status {
      color: #ff6b6b;
    }

    .chest-taken .chest-button {
      background: #757575;
      cursor: not-allowed;
    }

    /* Уведомление об успешном копировании */
    .copy-notification {
      position: fixed;
      top: 750px;
      left: 50%;
      transform: translateX(-50%);
      background: linear-gradient(135deg, #2c1a1a 0%, #1a1a2e 100%);
      color: #ff6b6b;
      padding: 12px 24px;
      border-radius: 8px;
      border: 2px solid #8B0000;
      font-family: 'Philosopher', sans-serif;
      font-size: 14px;
      z-index: 1001;
      opacity: 0;
      transition: opacity 0.3s ease;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    }
    </style>

    <div class="chest-grid">
      <!-- Шкатулка 1 -->
      <div class="chest-item" data-chest="1">
        <img src="https://imgur.com/k9j6OSa.png" alt="Шкатулка 1" class="chest-image">
        <div class="chest-overlay">
          <div class="chest-number">№1</div>
          <div class="chest-status">Свободна</div>
          <button class="chest-button">Выбрать</button>
        </div>
      </div>

      <!-- Шкатулка 2 -->
      <div class="chest-item" data-chest="2">
        <img src="https://imgur.com/VpmxUuF.png" alt="Шкатулка 2" class="chest-image">
        <div class="chest-overlay">
          <div class="chest-number">№2</div>
          <div class="chest-status">Свободна</div>
          <button class="chest-button">Выбрать</button>
        </div>
      </div>

      <!-- Шкатулка 3 -->
      <div class="chest-item" data-chest="3">
        <img src="https://imgur.com/Iz42CEx.png" alt="Шкатулка 3" class="chest-image">
        <div class="chest-overlay">
          <div class="chest-number">№3</div>
          <div class="chest-status">Свободна</div>
          <button class="chest-button">Выбрать</button>
        </div>
      </div>

      <!-- Шкатулка 4 -->
      <div class="chest-item" data-chest="4">
        <img src="https://imgur.com/harNHvk.png" alt="Шкатулка 4" class="chest-image">
        <div class="chest-overlay">
          <div class="chest-number">№4</div>
          <div class="chest-status">Свободна</div>
          <button class="chest-button">Выбрать</button>
        </div>
      </div>

      <!-- Шкатулка 5 -->
      <div class="chest-item" data-chest="5">
        <img src="https://imgur.com/u26Q8nc.png" alt="Шкатулка 5" class="chest-image">
        <div class="chest-overlay">
          <div class="chest-number">№5</div>
          <div class="chest-status">Свободна</div>
          <button class="chest-button">Выбрать</button>
        </div>
      </div>

      <!-- Шкатулка 6 -->
      <div class="chest-item" data-chest="6">
        <img src="https://imgur.com/EvF7kw4.png" alt="Шкатулка 6" class="chest-image">
        <div class="chest-overlay">
          <div class="chest-number">№6</div>
          <div class="chest-status">Свободна</div>
          <button class="chest-button">Выбрать</button>
        </div>
      </div>

      <!-- Шкатулка 7 -->
      <div class="chest-item" data-chest="7">
        <img src="https://imgur.com/PxLrGh0.png" alt="Шкатулка 7" class="chest-image">
        <div class="chest-overlay">
          <div class="chest-number">№7</div>
          <div class="chest-status">Свободна</div>
          <button class="chest-button">Выбрать</button>
        </div>
      </div>

      <!-- Шкатулка 8 -->
      <div class="chest-item" data-chest="8">
        <img src="https://imgur.com/JGrQ3t3.png" alt="Шкатулка 8" class="chest-image">
        <div class="chest-overlay">
          <div class="chest-number">№8</div>
          <div class="chest-status">Свободна</div>
          <button class="chest-button">Выбрать</button>
        </div>
      </div>

      <!-- Шкатулка 9 -->
      <div class="chest-item" data-chest="9">
        <img src="https://imgur.com/erhu5Mx.png" alt="Шкатулка 9" class="chest-image">
        <div class="chest-overlay">
          <div class="chest-number">№9</div>
          <div class="chest-status">Свободна</div>
          <button class="chest-button">Выбрать</button>
        </div>
      </div>

      <!-- Шкатулка 10 -->
      <div class="chest-item" data-chest="10">
        <img src="https://imgur.com/O4bzAoJ.png" alt="Шкатулка 10" class="chest-image">
        <div class="chest-overlay">
          <div class="chest-number">№10</div>
          <div class="chest-status">Свободна</div>
          <button class="chest-button">Выбрать</button>
        </div>
      </div>

      <!-- Шкатулка 11 -->
      <div class="chest-item" data-chest="11">
        <img src="https://imgur.com/xZZL3B7.png" alt="Шкатулка 11" class="chest-image">
        <div class="chest-overlay">
          <div class="chest-number">№11</div>
          <div class="chest-status">Свободна</div>
          <button class="chest-button">Выбрать</button>
        </div>
      </div>

      <!-- Шкатулка 12 -->
      <div class="chest-item" data-chest="12">
        <img src="https://imgur.com/KylUtiY.png" alt="Шкатулка 12" class="chest-image">
        <div class="chest-overlay">
          <div class="chest-number">№12</div>
          <div class="chest-status">Свободна</div>
          <button class="chest-button">Выбрать</button>
        </div>
      </div>

      <!-- Шкатулка 13 -->
      <div class="chest-item" data-chest="13">
        <img src="https://imgur.com/lsmFp0s.png" alt="Шкатулка 13" class="chest-image">
        <div class="chest-overlay">
          <div class="chest-number">№13</div>
          <div class="chest-status">Свободна</div>
          <button class="chest-button">Выбрать</button>
        </div>
      </div>

      <!-- Шкатулка 14 -->
      <div class="chest-item" data-chest="14">
        <img src="https://imgur.com/TtrymQN.png" alt="Шкатулка 14" class="chest-image">
        <div class="chest-overlay">
          <div class="chest-number">№14</div>
          <div class="chest-status">Свободна</div>
          <button class="chest-button">Выбрать</button>
        </div>
      </div>

      <!-- Шкатулка 15 -->
      <div class="chest-item" data-chest="15">
        <img src="https://imgur.com/63lI4kP.png" alt="Шкатулка 15" class="chest-image">
        <div class="chest-overlay">
          <div class="chest-number">№15</div>
          <div class="chest-status">Свободна</div>
          <button class="chest-button">Выбрать</button>
        </div>
      </div>

      <!-- Шкатулка 16 -->
      <div class="chest-item" data-chest="16">
        <img src="https://imgur.com/6ccKWoP.png" alt="Шкатулка 16" class="chest-image">
        <div class="chest-overlay">
          <div class="chest-number">№16</div>
          <div class="chest-status">Свободна</div>
          <button class="chest-button">Выбрать</button>
        </div>
      </div>
    </div>

    <!-- Уведомление об успешном копировании -->
    <div id="copyNotification" class="copy-notification">
      ✅ Текст скопирован! Теперь вставьте его в комментарий!
    </div>

    <!-- Инструкция -->
    <div style="text-align: center; margin: 20px 0; padding: 15px; background: rgb(163 121 73 / 19%); border-radius: 8px;">
      <strong>📝 Как участвовать:</strong>
      <p>1. Наведите на шкатулку чтобы увидеть номер, статус и кнопку<br>
      2. Нажмите на кнопку "Выбрать" чтобы скопировать текст<br>
      3. Вставьте скопированный текст в комментариях<br>
      4. Ждите сообщения от ведущего в ЛС с вашим предметом!</p>
    </div>

    <script>
    // Функция для получения занятых шкатулок из sessionStorage
    function getTakenChests() {
      const takenChests = sessionStorage.getItem('takenChests');
      return takenChests ? JSON.parse(takenChests) : [];
    }

    // Функция для сохранения занятых шкатулок в sessionStorage
    function saveTakenChests(takenChests) {
      sessionStorage.setItem('takenChests', JSON.stringify(takenChests));
    }

    // Функция для показа уведомления
    function showNotification() {
      const notification = document.getElementById('copyNotification');
      notification.style.opacity = '1';
     
      setTimeout(() => {
        notification.style.opacity = '0';
      }, 3000);
    }

    // Функция для копирования текста в буфер обмена
    async function copyChestText(chestNumber) {
      const text = `«Участвую! Беру шкатулку номер ${chestNumber}.»`;
     
      try {
        await navigator.clipboard.writeText(text);
        showNotification();
        markChestAsTaken(chestNumber);
      } catch (err) {
        // Fallback для старых браузеров
        const textArea = document.createElement('textarea');
        textArea.value = text;
        textArea.style.position = 'fixed';
        textArea.style.left = '-9999px';
        document.body.appendChild(textArea);
        textArea.focus();
        textArea.select();
       
        try {
          const successful = document.execCommand('copy');
          if (successful) {
            showNotification();
            markChestAsTaken(chestNumber);
          } else {
            alert('❌ Не удалось скопировать текст. Попробуйте еще раз.');
          }
        } catch (fallbackErr) {
          alert('❌ Не удалось скопировать текст. Выделите и скопируйте вручную.');
        }
       
        document.body.removeChild(textArea);
      }
    }

    // Функция для пометки шкатулки как занятой
    function markChestAsTaken(chestNumber) {
      const chest = document.querySelector(`.chest-item[data-chest="${chestNumber}"]`);
      if (chest) {
        const status = chest.querySelector('.chest-status');
        const button = chest.querySelector('.chest-button');
       
        chest.classList.add('chest-taken');
        status.textContent = 'Занята';
        button.textContent = 'Занято';
        button.disabled = true;
       
        // Сохраняем в sessionStorage
        const takenChests = getTakenChests();
        if (!takenChests.includes(chestNumber)) {
          takenChests.push(chestNumber);
          saveTakenChests(takenChests);
        }
      }
    }

    // Функция для инициализации состояния шкатулок при загрузке страницы
    function initializeChests() {
      const takenChests = getTakenChests();
      takenChests.forEach(chestNumber => {
        const chest = document.querySelector(`.chest-item[data-chest="${chestNumber}"]`);
        if (chest) {
          const status = chest.querySelector('.chest-status');
          const button = chest.querySelector('.chest-button');
         
          chest.classList.add('chest-taken');
          status.textContent = 'Занята';
          button.textContent = 'Занято';
          button.disabled = true;
        }
      });
    }

    // Добавляем обработчики событий для всех кнопок
    document.addEventListener('click', function(e) {
      if (e.target.classList.contains('chest-button')) {
        const chestItem = e.target.closest('.chest-item');
        const chestNumber = chestItem.getAttribute('data-chest');
       
        // Проверяем, не занята ли уже шкатулка
        if (!chestItem.classList.contains('chest-taken')) {
          copyChestText(chestNumber);
        }
      }
    });

    // Инициализируем состояние при загрузке страницы
    document.addEventListener('DOMContentLoaded', function() {
      initializeChests();
    });
    </script>[/html]

    0

    Быстрый ответ

    Напишите ваше сообщение и нажмите «Отправить»




    Вы здесь » Тест Название Форума » Новый форум » тестируем скрипты


    Рейтинг форумов | Создать форум бесплатно