• Как сделать раздвигающееся меню?

    ae_ph
    @ae_ph Автор вопроса
    FrelFrloich, Ок спасибо за чтиво, сейчас почитаю его.
    А я в JS прописал условия-же, что он высчитывает высоту блока в котором лежит контенет.
    Контент у нас лежит в свёрнутом виде почти! Остальное скрываем через overflow-y: hidden.
    Т.е. зная цифры высоты блока с контентом elem.scrollHeight делаем из них пиксели PX box.style.height = `${boxHeight}px` и раскрываем блок на эту высоту.
    А весь этот велосипед для того, что-бы он раскрывал и закрывал блок плавно.
    transition: all .3s сработает и туда и обратно если будут использована одни и те-же единицы измерения.
    Например проценты я не могу использовать там. Из за чего?
    Допусти там поменяют наполнение контента и его станет больше, тогда в процентном ссотношении открытая часть блока либо увеличется, либо уменьшится. Поэтому только PX, по этому я не могу задать проценты. Например да-же те-же 100% в JS так как в блоке px. Тогда transition: all .3s не отработает уже )

    Может конечно я ошибаюсь в чём-то.
    Но саму часть кода можно сократить как вы уже написали это да, это верно.

    P.S. скажите когда подключаешь jQuery плагин, там код на jQuery. Его как можно вставить?
    Так что-бы это была анонимная отдельная функция?
    Только в функцию для jQuery можно воткнуть?
    $(() => { ...code });
    Или как-то ещё? Я просто вставлял в (async() => { ...code }); и он не работал.

    И вот ещё хотелось-бы узнать какой момент, для обычного нативного JS какие лучше всего использовать анонимные функции, что-бы не плодить глобальные переменные? Обернуть например какое-нибудь событие с переменными.
  • Как сделать раздвигающееся меню?

    ae_ph
    @ae_ph Автор вопроса
    FrelFrloich, Посмешили ))
    Вы написал код на раскрытие элементов да он хорош!
    Только туда нужно дописать условия как и у меня.
    Если добавляется больше контента тогда нужно высчитать высоту бокса.
    Это нужно для того, что-бы раскрытие и закрытие блока можно было сделать плавным.
  • Как сделать раздвигающееся меню?

    ae_ph
    @ae_ph Автор вопроса
    FrelFrloich, Я вот так вот сделал.
    Накидайте пример о котором вы говорите интересно взглянуть
    $(() => {
        let button = doc.querySelector('.template_desc-box-2__details--learn') // Кнопка
        let box = doc.querySelector('.template_desc-box-2__details--box') // Бокс списка
        let boxHeight = doc.querySelector('.template_desc-box-2__details--box').scrollHeight // Высота
    
        button.addEventListener('click', onclickList)
    
        function onclickList() {
            // Если элемент содержит класс
            if (button.classList.contains('gradient-list')) {
                button.classList.remove('gradient-list')
                box.style.height = '93px'
            } else {
                button.classList.add('gradient-list')
                box.style.height = `${boxHeight}px`
            }
        }
    })
  • Почему не отображается шрифт на телефоне?

    magalalka, Вы пользуетесь Browsersync?
    Если да, тогда вам я так понимаю удаётся связать его с одним IP и загрузить на мобильном хоть и таким костыльным методом как у вас )
    Возможно в этот момент мобильный не ловит интернет когда подключен. ХЗ
    Вы тяните с сервера шрифты, я думаю если вы подключите их локально всё получится!
    Попробуйте
  • Почему не отображается шрифт на телефоне?

    Если он на пк работает, то и на мобильном должен отобразиться шрифт.
    Возможно вам нужно обновить страницу "но вы это уже делали я подозреваю"...
    Через браузер синг работает наверное всё по WiFi от одной сети у вас.
    Должно работать.
  • Почему не работает transition для background-image?

    Лол ))
    человек либо родился такого пола, либо другого, нет переходного состояния

    Ещё как есть) был мальчик стал девочкой с палкой, так-что бывает ещё как )))
  • Как воспроизвести видео при наведении на изображение?

    ae_ph
    @ae_ph Автор вопроса
    Я изменил на видео но это работает не корректно
  • Как переименовать файлы с помощью bat-файла?

    woodyfon,
    /o:-d - Сортировка списка отображаемых файлов в обратном порядке (от новых к старым).
    Т.е. с начало идут ново созданные файлы затем более старые.
    Конечно, если нужно в обратном порядке, тогда нужно удалить префикс /o:d
    61398190c83f8150028081.png
    Я протестировал параметр /t:c он у меня не работает ни в одной из его вариаций.
    Я удалил параметр /o:-d, оставив только /t:c и создал 2 jpg пометив их номерами через paint.exe
    Я задавал разные значения для ключа /t начиная от c и до w.
    Я вносил изменения в jpg файлы для того, что-бы изменить "дату изменения" но это не сработало.

    Параметр /t:c можно удалить ибо сортировка файлов идёт по параметру /o:-d
    P.S. Я дополню свой ответ на счёт нумерации. Благодарю вас. Я не подумал, что это может быть важным.
  • Почему при наведении в VS Code не показывается фото?

    Ruslan Website, На vscode 1.60 расширение работает!
    Вам нужно обновить ваш VSCODE до последней версии...
  • Как вернуть несколько значений из цикла?

    ae_ph
    @ae_ph Автор вопроса
    Сергей delphinpro, А внутри цикла for of переменная содержит список из массивов.
    Я запутался. Они-же не находятся в массиве. Как это выходит, что она содержит несколько массивов тогда.
    Объясните подробнее пожалуйста
  • Как вернуть несколько значений из цикла?

    ae_ph
    @ae_ph Автор вопроса
    Сергей delphinpro, Мне нужно вернуть из цикла For ofнесколько значений )
    Кстати я изначально не знаю сколько будет значений внутри массива переменной arrGroup, они автоматически у меня считываются и заносятся в эту переменную.
    Я гуглил решения и так-же ничего не нашёл...
    Внутри цикла вывод получается тот, что мне нужен, но я хочу вытащить результат из этого цикла в глобальную переменную и использовать потом.
    Но мне нужен список массивов на выходе как в цикле.
    Вот так вот.
    [ 'vars.css' ]
    [ 'fonts.css' ]
    [ 'global.css' ]
    [ 'dddd.css' ]
  • Как вернуть несколько значений из цикла?

    ae_ph
    @ae_ph Автор вопроса
    Сергей delphinpro, В таком случае возвращается так-же одно значение как и у меня в вопросе.

    let arrGroup = ['vars.css', 'fonts.css', 'global.css', 'dddd.css'];
    let arrOut = arrGroup.map(item => item.split())[0];
    console.log(arrOut); // [ 'vars.css' ]
  • Как вернуть несколько значений из цикла?

    ae_ph
    @ae_ph Автор вопроса
    Но он возвращает массив который содержит в себе массивы
    [ [ 'vars.css' ], [ 'fonts.css' ], [ 'global.css' ], [ 'dddd.css' ] ]

    А мне нужно вернуть отдельные массивы.
    Т.е. переменная arrOut должна быть равна списку массивов
    [ 'vars.css' ]
    [ 'fonts.css' ]
    [ 'global.css' ]
    [ 'dddd.css' ]
  • Как вернуть результат из вложенной функции?

    ae_ph
    @ae_ph Автор вопроса
    Rsa97, Получается если промис завершается при первом вызове resolve или reject тогда как можно обработать все файлы?
    Даже если я повешу цикл for of при первой возможно resolve будет возвращать мне один и тот-же файл.
    Из выше приведённого примера у меня так-же приходит один прочитанный файл в массиве. Так-же как и раньше. Вот взгляните пожалуйсто.

    p.s. хотел спросить, зачем вы ставите запятые? Там где закрывающие круглые скобки. Они-же там не нужны.

    async function test30() {
        const fs = require('fs');
        const fsPromises = fs.promises;
        const log = console.log;
    
        const getFileList = (mask) => new Promise((resolve, reject) => glob(mask, {}, (error, files) => {
            if (error) {
                reject(error);
            }
            function readFiles() {
                let subarray = [];
                for (let name of files) {
                    subarray = name.split(); // Массивы путей к файлам. [ 'C:/Dev/build/src/scss/_fonts.css' ] [ 'C:/Dev/build/src/scss/style.css' ] и т.д...
                    resolve(subarray);
                }
            }
            readFiles();
        }))
    
        const cssFileList = await getFileList(`${__dirname}/build/**/*.css`);
        const cssFileContentList = await Promise.all(cssFileList.map((name) => fsPromises.readFile(name, { encoding: 'utf8' })));
        log('----------------cssFileList----------------');
        log(cssFileContentList); // Возвращает массив. Массив содержит в себе один прочитанный файл.
        log(cssFileList); // Возвращает только один из массивов. [ 'C:/Dev/build/src/scss/_fonts.css' ]
    }
  • Как реализовать выбор города в том формате, который мне дан?

    Я это делал вот так. И накидывал стили.

    html
    <form action="option1" class="header__wrap-form-box">
      <select class="region-in" id="option1">
                                <option selected disabled>Выберите свой регион</option>
                                <option value="">г. Москва</option>
                                <option value="">Московская обл.</option>
                                <option value="">г. Санкт-Петербург</option>
                                <option value="">Ленинградская обл.</option>
                                <option value="">Алтайский край</option>
                                <option value="">Амурская обл.</option>
                                <option value="">Архангельская обл.</option>
                                <option value="">Астраханская обл.</option>
                                <option value="">Белгородская обл.</option>
                                <option value="">Брянская обл.</option>
                                <option value="">Владимирская обл.</option>
      </select>
    <input class="header__wrap-form-inputform form-in" type="submit" value="Отправить">
    </form>
  • Почему не генерируется .css файл в VS Code?

    Какой плагин вы используете?
    Я вот вообще не представляю как можно сгенерировать .css файл.
    Я понимаю, можно так сгенерировать начальную HTML разметку (поставив в начале пустого HTML документа знак восклицания ! и нажав на TAB)
  • Как вернуть результат из вложенной функции?

    ae_ph
    @ae_ph Автор вопроса
    Rsa97,
    Я перефразирую.
    Я отслеживал через консоль причину того, почему приходит один файл.
    Оказалось, что в функцию приходят все файлы, весь список.
    Я закомментировал log(data); там на выходе будет текст всех файлов .css
    А вот resolve(data); возвращает из функции только один текст, одного файла .css
    Где я опять накосячил?)

    async function test30() {
    
        const getFileList = (mask) => new Promise((resolve, reject) => glob(mask, {}, (error, files) => {
            if (error) {
                reject(error);
            }
            //#2pur Преобразуем массив путей в отдельные массивые путей и преобразуем эти массивы в строки.
            function readFiles() {
                let subarray = [];
                for (let name of files) {
                    subarray = name.split();
                    let globFile = subarray + "";
                    //#2pur Читаем эти файлы из полученных путей к фалам в виде строк.
                    fs.readFile(globFile, "utf8", function(error, data) {
                        if (error) throw error;
                        // log(data); // Выводим считанные данные
                        return resolve(data);
                    });
                }
            }
            readFiles();
        }))
    
        const cssFileList = await getFileList(`${__dirname}/build/**/*.css`);
        log('----------------cssFileList----------------');
        log(cssFileList);
    }
  • Как вернуть результат из вложенной функции?

    ae_ph
    @ae_ph Автор вопроса
    Rsa97, Подскажите пожалуйста как я могу это решить.
  • Как вернуть результат из вложенной функции?

    ae_ph
    @ae_ph Автор вопроса
    Rsa97, Это сработало, спасибо вам! )
    Только вот при выполнении функции обрабатываются все файлы если проверить вывод из console.log а если вернуть через resolve всегда возвращается один файл или смотря, что я возвращаю.
    Ну т.е. не все файлы или не все строки а только одна самая первая по списку из всех.
    Думается мне, что тут нужно что-то возвести в цикл... Наверное.