Контакты

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (19)

Лучшие ответы пользователя

Все ответы (11)
  • Почему эффект применяется только к одной кнопке из трёх?

    https://codepen.io/kusakinvova/pen/ExJRvqO
    вот как я решил проблему

    document.querySelectorAll('.btn_clip').forEach(button => {
        button.addEventListener('mousemove', e => {
            // Получаем координаты курсора относительно кнопки
            const rect = button.getBoundingClientRect();
            const x = e.clientX - rect.left;
            const y = e.clientY - rect.top;
    
            // Устанавливаем переменные для текущей кнопки
            button.style.setProperty('--x', x + 'px');
            button.style.setProperty('--y', y + 'px');
        });
    });
    Ответ написан
    8 комментариев
  • Как подключиться к trust wallet при помощи node js?

    Привет.
    Для работы с Trust Wallet через Node.js, тебе нужно взаимодействовать с блокчейном напрямую, поскольку Trust Wallet лишь интерфейс для блокчейна и не предоставляет собственного API для подобных задач. Вместо этого, ты можешь использовать различные библиотеки и API, для работы с блокчейнами, с которыми Trust Wallet может взаимодействовать (например, Ethereum, Binance Smart Chain и т.д.).

    Популярные либы:
    • Web3.js
    • ethers.js
    • Binance Smart Chain


    Пример кода на web3.js
    Вот базовый пример того, как можно начать работу с web3.js для получения баланса Ethereum адреса:

    const Web3 = require('web3');
    // Указываем провайдера. Это может быть Infura, Alchemy или любой другой узел Ethereum.
    const web3 = new Web3('https://mainnet.infura.io/v3/YOUR_PROJECT_ID');
    
    const address = 'адрес_кошелька';
    
    web3.eth.getBalance(address, (err, wei) => {
      // Переводим из wei в Ether
      balance = web3.utils.fromWei(wei, 'ether');
      console.log(balance);
    });


    Отправка транзакций
    Отправка транзакций немного сложнее, поскольку нужно будет подписать транзакцию с использованием приватного ключа (что должно обрабатываться очень осторожно и безопасно), а затем отправить подписанную транзакцию в сеть.

    Важные соображения:
    • Безопасность: Будь осторожны при обработке приватных ключей. Никогда не храни их в открытом виде и не передавай через незащищенные каналы.
    • Инфраструктура: В зависимости от твоего приложения, может понадобиться узел блокчейна (например, через Infura для Ethereum). Это может потребовать регистрации и, возможно, подписки.
    • Совместимость: Убедись, что выбранный блокчейн поддерживается Trust Wallet и твоим приложением.


    Начните с определения того, какой блокчейн ты будешь использовать, и изучи соответствующие библиотеки и их документацию. Это даст хорошее представление о том, как начать работу и какие функции тебе будут доступны
    Ответ написан
    2 комментария
  • Как загрузить в бакет Yandex Cloud файл, используя axios nodejs?

    В твоем коде есть несколько моментов, которые нужно исправить, чтобы загрузить файл в бакет Yandex Cloud с использованием axios в Node:

    1) Метод загрузки: не GET, а PUT. Для загрузки файла нужно использовать PUT.
    2) Передача файла: нужно передать содержимое файла в теле запроса, у тебя только заголовки.
    3) Content-Type: Указанный вами Content-Type должен соответствовать типу загружаемого файла. Ты указал 'image/jpeg', убедись, что это действительно соответствует типу файла.

    Пример кода для загрузки файла может выглядеть так:

    const axios = require('axios');
    const fs = require('fs').promises;
    const path = require('path');
    
    // Информация о файле и бакете
    const yandexApiKey = '**********************************';
    const bucketName = 'speech-bucket2';
    const objectName = args.fileName;
    
    (async () => {
        try {
            const filePath = path.join(__dirname, `../imgs/${args.fileName}`);
            const audioBytes = await fs.readFile(filePath);
    
            const uploadUrl = `http://${bucketName}.storage.yandexcloud.net/${objectName}`;
    
            // Используем метод PUT для загрузки файла
            const response = await axios.put(uploadUrl, audioBytes, {
                headers: {
                    'Authorization': `Api-Key ${yandexApiKey}`,
                    'Content-Type': 'image/jpeg', // Убедитесь, что это правильный MIME-тип для вашего файла
                },
            });
    
            console.log('Файл успешно загружен:', response.data);
        } catch (error) {
            console.error('Ошибка при загрузке файла:', error.message);
        }
    })();


    Проверь еще следующее:
    - Убедись, что путь к файлу и его MIME-тип указаны правильно.
    - Проверьте, что API ключ и настройки доступа к бакету настроены корректно.
    - Возможно, потребуется дополнительно настроить CORS настройки.
    Ответ написан
    2 комментария
  • Как настроить prettier для html чтоб не закрывал одиночные тэги?

    попробуй писать теги добавляя / в конце
    <br />
    <img />
    <input />
    Ответ написан
    Комментировать
  • Почему условие не срабатывает после первого выполнения?

    Кажется, ваша проблема заключается в том, что вы пытаетесь повторно назначить обработчик события клика внутри уже существующего обработчика клика. Это приводит к тому, что после первого изменения состояния кнопки (когда она получает класс cut), ваша логика для сворачивания элементов никогда не выполняется, потому что для этого требуется ещё один клик, который должен быть отдельно обработан.

    Для решения этой проблемы вам нужно избегать добавления обработчика события внутри другого обработчика события. Вместо этого, определите логику "Показать еще" и "Свернуть" в одном обработчике, используя условия для проверки текущего состояния:

    $(".catalog-btn_more").on('click', function (event) {
        event.preventDefault();
        var $this = $(this); // Сохраняем ссылку на текущую кнопку для удобства
        if ($this.hasClass("cut")) {
            // Логика для "Свернуть"
            $(".section-compact-list .section-compact-list__item").slice(12).hide().fadeOut(800); // Скрываем все элементы, кроме первых 12
            $this.removeClass('cut');
            $this.children()[0].innerHTML = "Показать еще";
        } else {
            // Логика для "Показать еще"
            var $hidden = $(".section-compact-list .section-compact-list__item:hidden");
            $hidden.slice(0, 12).css("display", "flex").hide().fadeIn(800);
            if ($hidden.length <= 12) { // Изменено условие, чтобы правильно обрабатывать состояние кнопки
                $this.addClass('cut');
                $this.children()[0].innerHTML = "Свернуть";
            }
        }
    });


    Теперь у вас есть один обработчик событий, который корректно обрабатывает оба состояния кнопки. Убедитесь, что правильно подбираете условие для изменения текста кнопки и добавления класса cut, чтобы ваша логика "Показать еще"/"Свернуть" работала корректно.
    Ответ написан
    Комментировать