Задать вопрос
Пользователь пока ничего не рассказал о себе

Достижения

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

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

Все теги (21)

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

Все ответы (44)
  • Как парсить и выводить JSON в HTML с помощью JavaScript?

    @dimentimor
    Например:
    var data = {
    	name: 'Jack',
    	items: {
    		dog: 1,
    		car: 1,
    		phone: 2,
    	},
    };
    
    // объект в json
    var json = JSON.stringify(data); // {"name":"Jack","items":{"dog":1,"car":1,"phone":2}}
    
    // json в объект
    var obj = JSON.parse(json); // объект


    Когда получаем json- преобразуем его в объект, а дальше уже в зависимости от структуры данных
    var data = JSON.parse('{"name":"Jack","items":{"dog":1,"car":1,"phone":2}}');
    
    var header = '<h2>My name is ' + data.name + '</h2>';
    var list = '';
    
    for (var i in data.items) {
    	list += '<li>' + i + ': ' + data.items[i] + ' шт. </li>';
    }
    
    document.getElementById('div').innerHTML += header;
    document.getElementById('div').innerHTML += '<ul>' + list + '</ul>';
    
    // Конечно, лучше создавать элементы через
    // var div = document.createElement('div');
    // наполнять через div.innerHTML = "text";
    // и добавлять их через element.appendChild(div);

    1978d2a5f51544268810b11dc1357ee7.jpg
    Ответ написан
    Комментировать
  • Как сделать выполнение двух событий одновременно при зажатии?

    @dimentimor
    var events = {};
    var w = 0, h = 0;
    
    // когда кнопка зажата
    document.addEventListener('keydown', function (e) {
    	events[e.keyCode] = true; // добавляем код кнопки в объект
    	action(); // вызываем функцию "действия"
    });
    
    document.addEventListener('keyup', function (e) {
    	// удаляем код кнопки из объекта только когда клавиша отпущена
    	events[e.keyCode] = false; 
    	console.log(w, h);
    });
    
    // а тут теперь можно писать инструкции для любых комбинаций
    function action () {
    	if (events[38]) w++;
    	if (events[39]) h++;
    	if (events[38] && events[39]) console.log('обе кнопки');
    }
    Ответ написан
  • Как можно оперативно получить расчет площади?

    @dimentimor
    На все инпуты вешается слушатель "change" события, и в обработчике пишем, что если переменные "длина", "ширина", "количество" определены, то высчитываем площадь.
    Тогда при изменении значения любого инпута будет происходить перерасчет.

    var data = {num: 1};
    
    $('#wid, #len, #num').on('change', function (e) {
    
    	data[e.target.id] = e.target.value;  // имена свойств объекта совпадают с айдишниками инпутов  для простоты
    
    	if (data.wid && data.len && data.num) {
    		$('.res').html(data.wid * data.len * data.num);
    	}
    });


    <input type="text" id="wid">
    <input type="text" id="len">
    <input type="text" id="num" value="1">
    
    <div class="res"></div>
    Ответ написан
    Комментировать
  • Как вывести содержимое тегов в консоль?

    @dimentimor
    getElementsByClassName возвращает коллекцию, а не один элемент
    var songName = performer[0].innerHTML + "-" + title[0].innerHTML;
    Ответ написан
    Комментировать
  • Как с помощью radio inputa сделать динамическое изменение цены опционального товара?

    @dimentimor
    // может быть любым элементом (не только инпутом)
    $('[data-price]').on('click', function () {
    
    	// значение атрибута data-price кликнутого элемента
    	var price = this.dataset.price;
    
    	// "подняться" на 2 уровня по DOM
    	// найти внутри элемент с классом .price
    	// и заменить его текст на полученное значение
    	$(this).parent().parent().find('.price').text(price);
    });
    Ответ написан
    1 комментарий

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

Все вопросы (36)