jQuery(node).addClass('abc');
jQuery(node).removeClass('abc');
el.classList.length;
el.classList.add('myCssClass');
el.classList.remove('myCssClass');
el.classList.contains('myCssClass');
el.classList.toggle('myCssClass');
el.classList.item('myCssClass');
working draft
jQuery(node).data('abc',123);
jQuery(node).data('abc'); //123
<div data-id="123" data-foot-size>Ivan</div>
el.dataset.id === '123';
el.dataset.footSize === '';
// set el.dataset.footSize = '44';
// check
'someDataAttr' in el.dataset
document.documentElement.requestFullScreen()
el.requestFullScreen();
document.cancelFullScreen();
document.fullscreenEnabled;
document.fullscreenElement;
fullscreenchange
fullscreenerror
:-webkit-full-screen {
background: red;
}
<iframe allowfullscreen="true" />
doc.addEventListener("mousemove", function(e){ // e.movementX
// e.movementY
}, false);
курсор скрывается
абсолютная позиция мыши не важна
el.requestPointerLock();
document.exitPointerLock();
document.pointerLockElement;
pointerlockchange и pointerlockerror
visibilitychange
document.hidden
true / false
document.visibilityState
"visible"
"hidden"
"prerender"
navigator.getUserMedia(
{video:true, audio:false},
function(stream) {}, //ok
function(){} // fail
);
streamUrl = window.URL.createObjectURL(stream)
file api
video.src = streamUrl;
context = canvas.getContext('2d');
context.drawImage(video, 0, 0);
canvas.toDataURL('image/png');
window.navigator.battery
charging // true/false
chargingTime // время до конца зарядки
dischargingTime // время до полной разрядки
level // 0..1
onchargingchange
onchargingtimechange
ondischargingtimechange
onlevelchange
W3C Last Call Working Draft 11 February 2014
window.navigator.vibrate()
vibrate(1000) // вибрировать 1 сек
vibrate([1000]) // то же самое
vibrate([1000,2000,3000]) // // вибрировать 1 сек, // остановиться на 2 сек // вибрировать 3 сек
vibrate(0)// остановить все вибрации
Editor's Draft 10 February 2014
win.addEventListener("deviceorientation", function(e){ // e.alpha
// e.beta
// e.gamma
}, false);
вот и весь API
...
Демо
работает только
Editor's Draft 10 February 2014
win.addEventListener("devicemotion", function(e){ // e.acceleration
// e.accelerationIncludingGravity
// e.rotationRate
// e.interval
}, false);
Устройство, лежащее горизонтально на столе
e.acceleration = {
x: 0,
y: 0,
z: 9.81};
e.accelerationIncludingGravity = {
x: 0,
y: 0,
z: 0};
Демо
работает только
Знание о существовании новых API
дает новые идеи и возможности
Даешь приятные плюшки для
N% пользователей с новейшими браузерами