• Как сохранять позицию скролла при переходе между беседами?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Ставите ref на прокручиваемый элемент, и читаете/назначаете его scrollTop.
    Ответ написан
    Комментировать
  • Как сделать условие Переменная1 > переменной2 на 30%?

    Stalker_RED
    @Stalker_RED
    if (a >= b * 1.3) {
      // ...
    }
    Ответ написан
    Комментировать
  • Можно ли так решить проблему с глобальными переменными?

    rockon404
    @rockon404
    Frontend Developer
    1. Почитайте о современных модульных возможностях JavaScript.
    2. Если пишите внешнюю библиотеку, то почитайте о том как правильно организуют универсальные подключаемые модули.
    Ответ написан
    9 комментариев
  • Как пронумеровать уже назначенные ID?

    0xD34F
    @0xD34F Куратор тега JavaScript
    document.querySelectorAll('.restab').forEach((n, i) => {
      n.id = `responsivetable${++i}`;
    });
    
    // или
    
    for (const [ i, n ] of document.querySelectorAll('.restab').entries()) {
      n.attributes.id.value = 'responsivetable' + (i + 1);
    }
    
    // или
    
    const elems = document.getElementsByClassName('restab');
    for (let i = 0; i < elems.length; i++) {
      elems[i].setAttribute('id', 'responsivetable'.concat(-~i));
    }
    Ответ написан
    Комментировать
  • Как вызвать метод объекта из метода объекта?

    0xD34F
    @0xD34F Куратор тега JavaScript
    я открыл доселе неизвестный it-сообществу баг...

    Ага, щас. Десять багов.

    ... или где-то далеко по мне плачет один учебник по js?

    Так точно.

    Замените setInterval(this.tick, interval); на

    setInterval(this.tick.bind(this), interval);

    или на

    setInterval(() => this.tick(), interval);
    Ответ написан
    Комментировать
  • Как по кнопке формы обновить страницу, а потом передать post запросом данные?

    CoolHeart
    @CoolHeart Автор вопроса
    Junior FrontEnd developer
    Решил задачу, вот код, если кому нужно будет:
    $('#cart-form-installment').on('click', function(){
                    localStorage.setItem('myKey', '1');
                    location.reload();
                  });
                  $(document).ready(function() {
                  var localValue = localStorage.getItem('myKey');
                  if(localValue=='1'){
                      localStorage.removeItem("myKey");
                      setTimeout(function(){
                        $('#cart-form-installment-true').click();
                      },300);    
                    }else{
                      return false;
                    }
                  });
    Ответ написан
    Комментировать
  • Как по кнопке формы обновить страницу, а потом передать post запросом данные?

    SpiderPigAndCat
    @SpiderPigAndCat
    занимаюсь салообразованием
    1) сохранить данные формы в своих полях. тут поможет localstorage и руки или jquery плагин
    2) это повесить на нажатие кнопки которая должна отправлять location.reload();
    3) потом после перезагрузки ( снова тут localstorage применяем ) имитируем клик по невидимой кнопке реальной отправки. имитация $("по какому будем кликать").target("click")
    Ответ написан
  • Как вертикально выровнять блоки в сетке?

    SpiderPigAndCat
    @SpiderPigAndCat
    занимаюсь салообразованием
    .video-setka .video {
      
       height:250px;
      overflow:hidden;
      }


    Текст обрежется если очень большой.
    Можно указать не ровно 250px а 248 к примеру, чтоб строчка не резалась пополам.
    Еще можно применить
    .video-setka .video p {
    	margin: 0;
       white-space: nowrap; 
        overflow: hidden;
        text-overflow: ellipsis;
    }


    чтоб текст кончался точками ...
    Ответ написан
    3 комментария
  • Как лучше организовать код?

    profesor08
    @profesor08 Куратор тега JavaScript
    async function getJson(url) {
        let response = await fetch(url);
        return await response.json();
    }
    
    async function someFunc(url) {
      try {
        let json = await getJson(url);
        okFunc(...);
      }
      catch (err) {
        errorFunc(...);
      }
    }
    Ответ написан
    1 комментарий
  • Как в id поставить переменную?

    Stalker_RED
    @Stalker_RED
    var ok = "id1";
    $(".nm-one").append('<input type="text" title="название услуги" class="info-cnt-text-2" id="' + ok +'" value="ok" />');
    // или
    $(".nm-one").append(`<input type="text" title="название услуги" class="info-cnt-text-2" id="${ok}" value="ok" />`);
    Ответ написан
    2 комментария
  • Правильный ли у меня подход к решению задачи?

    switch (true) {
      case (id >= 200 && id < 300): return icon.setAttribute("data-icon", "P");
      case (id >= 300 && id < 400): return icon.setAttribute("data-icon", "Q");
      case (id >=500 && id < 600): return icon.setAttribute("data-icon", "R");
      case (id >=600 && id < 700): return icon.setAttribute("data-icon", "W");
      case (id >= 700 && id < 800): return icon.setAttribute("data-icon", "M");
      case (id === 800): return icon.setAttribute("data-icon", "B");
      case (id === 801): return icon.setAttribute("data-icon", "H");
      case (id === 802): return icon.setAttribute("data-icon", "N");
      case (id === 803 || id === 804): return icon.setAttribute("data-icon", "Y");
      default: return icon.setAttribute("data-icon", ")");
    }
    Ответ написан
    Комментировать
  • Пишут ли проекты на чистом JS?

    @wearemieta
    BEWARE HIPSTERS
    Есть ли какие-нибудь проекты.сайты или приложения которые написанны на ванильном JS'e.

    Не поверите, но все сайты, которые используют js написаны именно на ванильном js. Вы поймете это, когда прочитаете мой ответ до конца.

    Почему для Javascript'a используется обильное кол-во библиотек/фреймворков и расширений вроде TypeScript


    Давайте поймем что такое фреймворк, библиотека, расширение. Вы пишете код. Скорее всего, в разных частях и файлах вашей программы вы часто выполняете одно и тоже действие, например, делаете все буквы в слове ПРОПИСНЫМИ. Вот так на 'ванильном JS' может выглядеть ваша функция:

    function wordToUppercase(word) {
      return word.toUppercase()
    }


    Чище некуда, так ведь? Теперь можно копировать этот кусочек в любую часть кода где он нужен. Но что если нам нужно слегка поменять эту функцию, например, так:

    function wordToUppercase(word) {
      if (word.length > 3) {
        return word.toUppercase()
      }
    }


    И снова чистый js. Теперь снова можно копировать! Но если мы хотим в одном случае считать длину слова, а в другом нет? Скопируем два раза и изменим в одном месте? А если мест много?

    Возникла проблема. Нужно решение. Одно из решений может быть таким: вынесем эту функцию в отдельный файл, будем обращаться к ней из других файлов по мере необходимости.

    Что же произошло? Мы нашли подходящее решение для нашей проблемы и вынесли его в отдельный кусочек кода. Так что же все-таки фреймворк, библиотека, расширение?

    Вернемся к нашему примеру. Программа росла, мест с повторяющимися действиями становилось больше. Но мы уже умеем работать с повторяющимся кодом, поэтому мы выносили решения проблем которые нам встречались в отдельные кусочки кода. Так вот совокупность всех наших решений и есть библиотека.

    Библиоте́ка (от англ. library) в программировании — сборник подпрограмм или объектов, используемых для разработки программного обеспечения (ПО).


    Теперь мы можем легко реиспользовать наши наработки в других похожих программах.
    Говоря абстрактным языком, библиотека — набор решений для часто встречающихся проблем.

    Опять же, абстрактно, фреймворк — набор решений для часто встречающихся проблем. Только он решает другие проблемы, нежели библиотека. Проблемы структурирования.

    Структу́ра (от лат. structūra «строение», «устройство», «связь или расположение составных частей»):


    Почему для Javascript'a используется обильное кол-во библиотек/фреймворков и расширений вроде TypeScript


    Люди обильно писали код на js. Сталкиваясь с определенными проблемами они находили решения. Эти решения они стали выделять в библиотеки, фреймворки и расширения, которые являются ничем иным как определенными способами решения определенных проблем/задач.

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

    может ли уменьшится в них надобность с выходом Es-6/7 и дальнейших спецификаций?


    Спецификации точно таким же образом используются для решения определенных задач. Если задачи вашего приложения можно решить с помощью спецификаций, то надобность вашему приложению
    в других инструментах решения уменьшится.

    Сможете теперь ответить, почему все сайты, которые используют js написаны именно на ванильном js?
    Ответ написан
    Комментировать
  • Не могу понять как убрать элемент (Или вернуться к InItialState "Если такое возможно")?

    Почему не используете классы?

    const emptyContacts = {
      address: '' ,
      email: '',
    }
    
    var Contact = React.createClass({
        getInitialState: function() {
          return {
           contactData: emptyContacts,
          }
        },
        toggleContactsData: function(event) {
            this.setState({
                contactData: thsi.state.contactsData === emptyContacts
                  ? { address: this.props.address, email: this.props.email, }
                  : emptyContacts
            });
        },
    
        render:function() {
          return (
            <li className="contact" onClick={this.toggleContactsData}>
              <img className="contact-image" src={this.props.image} width="68px" height="68px"/>
              <div className="contact-info">
                <div className="contact-name" >{this.props.name}</div>
                <div className="contact-number" >{this.props.phoneNumber}</div>
                <div>{this.state.contactData.address}</div>
                <div>{this.state.contactData.email}</div>
              </div>
            </li>
          )
    
        }
      });
    Ответ написан
    3 комментария