Ответы пользователя по тегу JavaScript
  • Как сделать калькулятор с ползунками?

    vachunya
    @vachunya
    Бог верстки, JS maniac, React bomberman
    Чувак скажи что тебе конкретно надо сделать и я тебе скину готовый код, для того чтобы кастомизировать это, не нужны плагины черт бы тебя побрал, там 2 строчки кода, или даже одна
    Ответ написан
    3 комментария
  • Как отсортировать данные в js?

    vachunya
    @vachunya
    Бог верстки, JS maniac, React bomberman
    Итого мне кажется ты нас немного дуришь друг, ты не можешь получить в JS такой объект :
    var jeD= {
        1: {
            id: 2,
            value: 43,
            name: 'GGP'
        },
        1: {
            id: 4,
            value: 22,
            name: 'GGU'
        },
        2: {
            id: 55,
            value: 95,
            name: 'PLVAl'
        },
        2: {
            id: 56,
            value: 13,
            name: 'PLINT'
        },
        2: {
            id: 59,
            value: 133,
            name: 'BARG'
        },
    };


    Ведь в JS одинаковые свойства затирают друг друга, итого на выходе ты получишь вот такой объект:
    jeD= {
        1: {
            id: 4,
            value: 22,
            name: 'GGU'
        },
        2: {
            id: 59,
            value: 133,
            name: 'BARG'
        },
    };


    Поэтому предлагаю сделать хотя бы так:
    var jeD= {
      'items': [
      <?php foreach($data as $item): ?> 
        'number':<?php echo $item['number'] ?>,
        'id': <?php echo $item['id'] ?>,
        'value': <?php echo $item['value'] ?>,
        'name': <?php echo $item['name'] ?>
      <?php endforeach; ?>
        ],
    sortNum(num) {return this.items.filter( elem => elem.number == num).sort( (e1,e2) => e1.value - e2.value)} 
    };


    Теперь метод sortNum() будет возвращать вам отсортированный по номеру

    Например jeD.sortNum(2) вернет вам :
    [
    {number: 2, id: 56, value: 13, name: "PLINT"},
    {number: 2, id: 55, value: 95, name: "PLVAl"},
    {number: 2, id: 59, value: 133, name: "BARG"}
    ]
    собственно то чего вы и хотели, не благодарите))
    Ответ написан
    Комментировать
  • Как правильно указать сменные js?

    vachunya
    @vachunya
    Бог верстки, JS maniac, React bomberman
    Вот ответ

    let name = "Peter";
    let age = "20";
    let message = `My name is ${name}. I am ${age} years.`;
    console.log(message)
    Ответ написан
  • Не все добавляется в массив, что не так?

    vachunya
    @vachunya
    Бог верстки, JS maniac, React bomberman
    Добрый день,
    Есть несколько вопросов:
    Во-первых почему у вас несколько элементов с одинаковыми id??
    const response = document.querySelectorAll('#response');


    Во-первых зачем вам нужен метод .toString() в коде? пока не пойму как у вас реализовано, но проверка у вас странная для меня.

    И наконец в-третьих киньте в консоль ваш объект или на этапе проверки, или и там и там, и сразу станет ясно что вы делаете не так, полагаю что проблема в document.querySelectorAll('#response');

    Попробуйте так:

    questions.map(question => {
              console.log(response)
                const doneArray = [...response].filter(resp => {
    console.log(`resp.value ${resp.value}`)
    console.log(`question.done ${question.done}`)
                    return resp.value.toString().toLowerCase() === question.done.toString().toLowerCase();
                })


    Я мог не уловить контекста, но такое ощущение что вы немного вслепую кодите))))
    Ответ написан
    4 комментария
  • Как сделать форму круга анимации?

    vachunya
    @vachunya
    Бог верстки, JS maniac, React bomberman
    Правильно будет контейнеру задать border-radius: 50%, тогда если контейнер квадратный то он станет круглы, форму круга у неквадратного контейнера не задашь никак.
    И еще твой код не работает и зависает, где ты взял его ? может лучше избежать подобного на сайте? Думаю эта типа анимация весит дофига или код ужасен...
    Ответ написан
    Комментировать
  • Как при клике на div открывать его описание?

    vachunya
    @vachunya
    Бог верстки, JS maniac, React bomberman
    Опиши пожалуйста задачу конкретнее, ты хочешь открывать модальное окно при клике на блок или хочешь чтобы этот блок раскрывался при клике и показывался вложенный код?
    Если второй вариант то это Accordion, вот примеры

    примеры аккордеонов
    Ответ написан
  • Значение this при событии input?

    vachunya
    @vachunya
    Бог верстки, JS maniac, React bomberman
    Я вообще не понимаю что за бред Вы написали и какую цель преследуете, во первых почему не юзаете JQuery?
    В чем принципиально писать на чистом JS?
    Во-вторых напишите ясно чего вы хотите от инпутов?
    И наконец в третьих, стрелочные функции не имеют своего контекста, если стрелочная функция не вызвана как метод определенного объекта, то контекстом для стрелочной функции будет window.
    чтобы ваша программа заработала нужно убрать стрелочные функции, по моему Вы не понимаете что делаете в принципе и лепите все подряд не зная языка, пользуйтесь JQuery, и учите JS)))))

    <div></div>
    	<div class="step"><input type="text" class="input_1"></div>
    	<div></div>
    	<div class="step"><input type="text" class="input_2"></div>
    	<div></div>
     	<div class="step"><input type="text" class="input_3"></div>
     	<style>
     		div {
     			width: 100px;
      			height: 50px;
      			background-color: purple;
      			margin: 5px;
     		}
      
    		.step {
    			background-color: green;
      			margin: 15px 5px;
      			display: flex;
    		}
     	</style>
     	<script type="text/javascript">
     		document.querySelector('div').addEventListener('click', function() {
                console.log(this)
            })
     		function setInputsValue(inputs, value) {
     			inputs.forEach(input => {
                	input.value = value;
                })
     		}
    
    		let inputs = document.querySelectorAll('.step input');
            inputs.forEach(input => {
                input.addEventListener('input', function() {
                    console.log(this)
                    setInputsValue(inputs, this.value)
                })
            })
     	</script>


    Если при изменении одного инпута менять остальные, то примерно так без JQuery делается
    Ответ написан
  • Как задавать размеры img встраиваемых в canvas посредством JS?

    vachunya
    @vachunya Автор вопроса
    Бог верстки, JS maniac, React bomberman
    <div class="space-bg">
          <canvas id="planet">   
          </canvas>
        </div>
    Ответ написан
    Комментировать