• Как развернуть текст через скрипт на JS?

    i229194964
    @i229194964
    Веб разработчик
    <p id="shortText">
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum nec mi eget nisi rhoncus efficitur sit amet at quam. Cras non venenatis ipsum, in dictum libero. Aenean gravida tristique ultrices.
      <a href="#" id="expandLink" onclick="expandText()">Развернуть</a>
    </p>
    
    <script>
      function expandText() {
        var shortText = document.getElementById('shortText');
        var expandLink = document.getElementById('expandLink');
    
        var fullText = shortText.textContent;
        if (fullText.length > 200) {
          var truncatedText = fullText.substring(0, 200);
          var remainingText = fullText.substring(200);
    
          // Создаем новый элемент <span> для скрытого текста
          var extraTextElement = document.createElement('span');
          extraTextElement.textContent = remainingText;
          extraTextElement.style.display = 'none'; // Скрываем его изначально
    
          // Добавляем скрытый текст после оригинального параграфа
          shortText.appendChild(extraTextElement);
    
          // Переключаем текст ссылки и показываем/скрываем дополнительный текст при клике
          expandLink.textContent = 'Свернуть';
          expandLink.onclick = function() {
            extraTextElement.style.display = extraTextElement.style.display === 'none' ? 'inline' : 'none';
            expandLink.textContent = extraTextElement.style.display === 'none' ? 'Развернуть' : 'Свернуть';
          };
    
          // Отображаем ссылку только если есть скрытый текст
          if (remainingText.trim() !== '') {
            expandLink.style.display = 'inline';
          } else {
            expandLink.style.display = 'none';
          }
        }
      }
    </script>
    Ответ написан
  • Как убрать "Ошибка взаимодействия" при нажатии на кнопку в Discord?

    i229194964
    @i229194964
    Веб разработчик
    @bot.event
    async def on_button_click(interaction):
        if interaction.custom_id.startswith('lang_'):
            lang_code = interaction.custom_id.split('_')[1]
            selected_language = languages.get(lang_code)
            await welcome_message(interaction.channel, selected_language)
        elif interaction.custom_id == 'start_button':
            # Обработка нажатия кнопки "Начать"/"Почати"/"Start"
            await interaction.channel.send("Вы нажали кнопку 'Начать'!")
    
    # Остальной код оставьте без изменений.
    Ответ написан
  • Почему не получается сделать миграцию в Laravel?

    i229194964
    @i229194964
    Веб разработчик
    public function up(): void
    {
        Schema::create('products', function (Blueprint $table) {
            $table->id();
            $table->timestamps(); // Без аргументов
    
            $table->string('name');
            $table->integer('price');
            $table->text('des');
        });
    }
    Ответ написан
  • Как сделать отношения между классами в c#?

    i229194964
    @i229194964
    Веб разработчик
    using System;
    
    class FirstClass
    {
        public int Value { get; set; }
    }
    
    class SecondClass
    {
        public FirstClass First { get; set; }
    
        public void ChangeValue(int newValue)
        {
            First.Value = newValue;
        }
    }
    
    class Program
    {
        static void Main(string[] args)
        {
            var first = new FirstClass();
            var second = new SecondClass();
    
            second.First = first;
            second.ChangeValue(42);
    
            Console.WriteLine(first.Value);  // Выведет 42
        }
    }
    Ответ написан
    6 комментариев
  • Как в маске телефона увеличить кол-во знаков?

    i229194964
    @i229194964
    Веб разработчик
    window.addEventListener("DOMContentLoaded", function() {
      [].forEach.call(document.querySelectorAll('.tel'), function(input) {
        var keyCode;
        function mask(event) {
          event.keyCode && (keyCode = event.keyCode);
          var pos = this.selectionStart;
          if (pos < 3) event.preventDefault();
          var matrix = "+7 (____) ____-___",
              i = 0,
              def = matrix.replace(/\D/g, ""),
              val = this.value.replace(/\D/g, ""),
              new_value = matrix.replace(/[_\d]/g, function(a) {
                return i < val.length ? val.charAt(i++) || def.charAt(i) : a;
              });
          i = new_value.indexOf("_");
          if (i != -1) {
            i < 5 && (i = 3);
            new_value = new_value.slice(0, i);
          }
          var reg = matrix
            .substr(0, this.value.length)
            .replace(/_+/g, function(a) {
              return "\\d{1," + a.length + "}";
            })
            .replace(/[+()]/g, "\\$&");
          reg = new RegExp("^" + reg + "$");
          if (!reg.test(this.value) || this.value.length < 5 || (keyCode > 47 && keyCode < 58))
            this.value = new_value;
          if (event.type == "blur" && this.value.length < 5) this.value = "";
        }
    
        input.addEventListener("input", mask, false);
        input.addEventListener("focus", mask, false);
        input.addEventListener("blur", mask, false);
        input.addEventListener("keydown", mask, false);
      });
    });
    Ответ написан
    Комментировать
  • Ошибка взаимодействия при нажатии на кнопку. Где я ошибся?

    i229194964
    @i229194964
    Веб разработчик
    import disnake
    from disnake.ext import commands
    
    class Minigames(commands.Cog):
        def __init__(self, bot):
            self.bot = bot
    
        @disnake.ui.button(label="b1", style=disnake.ButtonStyle.green, custom_id="test1")
        async def button_callback(self, interaction: disnake.Interaction, button: disnake.ui.Button):
            await interaction.response.defer()
            await interaction.send("clicked!")
    
        @commands.command(name="test")
        async def test(self, ctx: disnake.MessageInteraction):
            view = disnake.ui.View()
            view.add_item(disnake.ui.Button(label="Button 1", custom_id="test1"))
            msg = await ctx.send(content="1", view=view)
    Ответ написан
  • Почему регулярное выражение не работает?

    i229194964
    @i229194964
    Веб разработчик
    import re
    
    def match_whole_word_case_insensitive(text, word):
        return re.search(r'\b' + re.escape(word) + r'\b', text, re.IGNORECASE)
    
    assert match_whole_word_case_insensitive("Пусть всегда будет солнце", "Будет")
    Ответ написан
    Комментировать
  • Как исправить неправильную разницу в таймере?

    i229194964
    @i229194964
    Веб разработчик
    const pizzaTimer = (ms) => {
      const target = new Date().getTime() + ms + 100; // 100 это смещение для setInterval, так-как setInterval не всегда точно спустя 1 секунду обновляется
      const interval = setInterval(() => {
        const remainingTime = target - new Date().getTime(); // Вычисление оставшегося времени в миллисекундах
    
        if (ms > 3_600_000) {
          console.log(
            new Intl.DateTimeFormat(navigator.language, {
              hourCycle: 'h23',
              hour: 'numeric',
              minute: 'numeric',
              second: 'numeric',
            }).format(remainingTime)
          );
        } else {
          console.log(
            new Intl.DateTimeFormat(navigator.language, {
              minute: 'numeric',
              second: 'numeric',
            }).format(remainingTime)
          );
        }
      }, 1000);
    
      setTimeout(() => {
        console.log('pizza time');
        clearInterval(interval);
      }, ms);
    };
    
    console.log(pizzaTimer(3_610_000));
    Ответ написан
  • Как получить нужную частоту на выходе микроконтроллера?

    i229194964
    @i229194964
    Веб разработчик
    #include <avr/io.h>
    #include <avr/interrupt.h>
    #include <math.h>
    
    #define F_CPU 8000000UL
    #define VFG_TIMER_MAX 65535
    
    float fG = 100;
    unsigned char nG;
    unsigned int N[] = {1, 8, 64, 256, 1024};
    
    void Tim1Init(void)
    {
        DDRB |= (1 << PB0); // Set pin as OUTPUT
        TCCR1A = (1 << COM1A0); // Toggle on compare
        TCCR1B = (1 << WGM12) | (1 << CS12) | (1 << CS10); // Set timer CTC mode
        TIMSK = (1 << OCIE1A);
        SetUpTim1A(fG);
        sei(); // Enable global interrupts
    }
    
    void SetUpTim1A(float Foc)    // Set value OCR1A register
    {
        float TimDiv, OCRnx_calc = 0;
        unsigned int ret_OCRnx = 0;
        unsigned char ClockSelect = 0;
        unsigned char i = 0;
        for (i = 0; i < 5; i++) {
            TimDiv = (F_CPU / (2 * Foc * N[i]) - 1);
            OCRnx_calc = ceil((TimDiv / Foc) - 1);
            if (OCRnx_calc >= 0 && OCRnx_calc < VFG_TIMER_MAX) {
                ClockSelect = i + 1;
                break;
            }
            ret_OCRnx = (unsigned int)OCRnx_calc;
            OCR1A = ret_OCRnx;
            TCCR1B = (1 << WGM12) | ClockSelect;
        }
    }
    
    ISR(TIMER1_COMPA_vect)
    {
        PORTB ^= (1 << PB0);
    }
    
    int main(void)
    {
        Tim1Init();
    
        while (1) {
            // Ваш код здесь
            // Измените значение переменной fG и nG в соответствии с вашими требованиями
            // Затем вызовите SetUpTim1A(fG) снова, чтобы обновить частоту
    
            fG = 200; // Пример изменения значения переменной fG
            SetUpTim1A(fG); // Обновление частоты
    
            nG = 1; // Пример изменения значения переменной nG
            // Используйте значение переменной nG для настройки соответствующего порта
    
            // Ваш дополнительный код здесь
    
            // Пример задержки между изменениями частоты
            _delay_ms(1000);
        }
    
        return 0;
    }
    Ответ написан
  • Как исправить "Cannot find module 'rxjs'" при создании nuxt.js проекта?

    i229194964
    @i229194964
    Веб разработчик
    У вас отсутствует модуль rx.js
    npm install rxjs
    npm init nuxt-app@latest test
    Ответ написан
    Комментировать
  • Как замокать зависимость в pytest?

    i229194964
    @i229194964
    Веб разработчик
    import pytest
    from unittest import mock
    
    class B:
        def __init__(self, db_connection):
            self.__db_connection = db_connection
    
    class A:
        def __init__(self, b: B):
            self.__b = b
    
        def do_something(self) -> None:
            pass
    
    @pytest.fixture(scope="module")
    def mock_b(mocker):
        mocker.patch('path.to.B')  # Здесь 'path.to.B' - это путь к классу B, который нужно замокать
        return B(mock.MagicMock())  # Возвращаем экземпляр класса B с мок-объектом для db_connection
    Ответ написан
    Комментировать
  • Звуковое уведомление при появлении текста, как сделать?

    i229194964
    @i229194964
    Веб разработчик
    chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
      if (request.action === "playSound" && request.sound) {
        var audio = new Audio(chrome.runtime.getURL(request.sound));
        audio.play();
      }
    });
    
    function refreshPage() {
      chrome.tabs.query({ active: true, currentWindow: true }, function(tabs) {
        var tabId = tabs[0].id;
        chrome.tabs.reload(tabId);
      });
    }
    
    setInterval(refreshPage, 30 * 1000);
    Ответ написан
  • Как правильно распарсить данные?

    i229194964
    @i229194964
    Веб разработчик
    $data = array(
        "update_id" => 1111111,
        "message" => array(
            "message_id" => 111,
            "from" => array(
                "id" => 1111111,
                "is_bot" => false,
                "first_name" => "2222222",
                "last_name" => "3333333",
                "username" => "4444444444",
                "language_code" => "ru"
            ),
            "chat" => array(
                "id" => -5555555555,
                "title" => "Test 666666",
                "type" => "supergroup"
            ),
            "date" => 77777777,
            "message_thread_id" => 8888,
            "reply_to_message" => array(
                "message_id" => 9999,
                "from" => array(
                    "id" => 0000000000000,
                    "is_bot" => true,
                    "first_name" => "---------test",
                    "username" => "9999999"
                ),
                "chat" => array(
                    "id" => -00000000000000,
                    "title" => "Test --------",
                    "type" => "supergroup"
                ),
                "date" => "=====99999",
                "text" => "ghbdtn"
            ),
            "text" => "Аоатт"
        )
    );
    
    $text = $data["message"]["text"];
    echo $text;  // Выведет "Аоатт"
    Ответ написан
    Комментировать
  • Как правильно сделать вывод данных из sqlite3?

    i229194964
    @i229194964
    Веб разработчик
    import sqlite3
    
    with sqlite3.connect('database.db') as connection:
        cursor = connection.cursor()
        cursor.execute("""
            SELECT * FROM DataBase WHERE "Category ID" = 'call.data'
        """)
        rows = cursor.fetchall()
        
        for row in rows:
            print(row)
    Ответ написан
    Комментировать
  • Как сделать перебор bash массива?

    i229194964
    @i229194964
    Веб разработчик
    #!/bin/bash
    
    # Определение массива ID пользователей из файла
    mapfile -t chat_ids < users.txt
    
    # Перебор ID пользователей
    for chat_id in "${chat_ids[@]}"; do
        # Выполнение команды curl с использованием текущего ID чата
        curl -X POST -H "Content-Type: application/json" -d '{"chat_id": "'"${chat_id}"'", "text": "Ваше сообщение"}' https://api.telegram.org/bot<YOUR_BOT_TOKEN>/sendMessage
    done
    Ответ написан
    Комментировать
  • Как в javaFX повернуть фигуру на 90 градусов?

    i229194964
    @i229194964
    Веб разработчик
    import javafx.application.Application;
    import javafx.scene.Group;
    import javafx.scene.Scene;
    import javafx.scene.layout.Pane;
    import javafx.scene.paint.Color;
    import javafx.scene.shape.Line;
    import javafx.scene.transform.Rotate;
    import javafx.stage.Stage;
    
    public class RotateExample extends Application {
        @Override
        public void start(Stage primaryStage) {
            Pane pane = new Pane();
            Scene scene = new Scene(pane, 400, 400);
    
            Group group = new Group();
            pane.getChildren().add(group);
    
            // Создание фигуры (в данном случае - линии)
            Line line = new Line(100, 100, 200, 100);
            line.setStroke(Color.BLACK);
            group.getChildren().add(line);
    
            // Создание объекта Rotate
            Rotate rotate = new Rotate(90, 150, 100); // Угол поворота 90 градусов, точка вращения (150, 100)
            line.getTransforms().add(rotate);
    
            primaryStage.setScene(scene);
            primaryStage.show();
        }
    
        public static void main(String[] args) {
            launch(args);
        }
    }
    Ответ написан
    Комментировать
  • Как добавить iframe з игрой которая находиться на чужом сайте и перенести ее на свой?

    i229194964
    @i229194964
    Веб разработчик
    Если вы хотите встроить игру которая находится на чужом сайта в свой лейдинг
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>Мой лендинг</title>
    </head>
    <body>
        <h1>Мой лендинг</h1>
        <iframe src="https://www.demoslot.com/milkshake-xxxtreme-slot.html" width="800" height="600" frameborder="0"></iframe>
    </body>
    </html>
    Ответ написан
    Комментировать
  • Не работает @media?

    i229194964
    @i229194964
    Веб разработчик
    <!DOCTYPE html>
    <html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <style>
            .cube {
                position: relative;
                display: inline-block;
                height: 50px;
                width: 75px;
                top: 250px;
                left: 500px;
                background-color: blue;
                color: white;
                text-align: center;
                line-height: 50px;
                font-family: Arial, sans-serif;
                font-size: 14px;
            }
        </style>
    </head>
    <body>
        <div class="content">
            <div class="cube cube1">text</div>
            <div class="cube cube2">text</div>
            <div class="cube cube3">text</div>
        </div>
    </body>
    </html>
    Ответ написан
  • Как отключить пароль в убунту?

    i229194964
    @i229194964
    Веб разработчик
    введите в терминале
    sudo visudo
    найдите строку NOPASSWD (обычно находится под строкой, где упоминается группа sudo
    %sudo ALL=(ALL:ALL) ALL
    Добавьте NOPASSWD перед командами, которые вы хотите выполнить без запроса пароля.
    %sudo ALL=(ALL:ALL) NOPASSWD: /usr/bin/apt-get
    Ответ написан
    1 комментарий
  • Как создать objectUrl из mediaStream?

    i229194964
    @i229194964
    Веб разработчик
    var stream;
    async function turnOnCameraHandler() {
      var mediaStream = await navigator.mediaDevices.getUserMedia({
        video: true,
        audio: false
      });
    
      stream = mediaStream;
      video.srcObject = stream;
      video.play(); // Добавляем автоматическое воспроизведение
    }
    
    turnOnCameraHandler();
    Ответ написан
    Комментировать