JavaScript
29
Вклад в тег
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); // объект
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);
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('обе кнопки');
}
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>
// может быть любым элементом (не только инпутом)
$('[data-price]').on('click', function () {
// значение атрибута data-price кликнутого элемента
var price = this.dataset.price;
// "подняться" на 2 уровня по DOM
// найти внутри элемент с классом .price
// и заменить его текст на полученное значение
$(this).parent().parent().find('.price').text(price);
});