<button data-id="1" class="like">Like post 1</button>
<button data-id="2" class="like">Like post 2</button>
<button data-id="3" class="like">Like post 3</button>
var sendLikeRequest = function(id) {
// Send request to server
};
$(document).on('click', '.like', function(e) {
e.preventDefault();
sendLikeRequest($(this).data('id'));
})
var audio = new Audio();
audio.preload = 'auto';
audio.src = '/path/to/f_4dbaa79f18001.mp3';
audio.play();
(function(window) {
var videoNode = window.document.querySelector('#myvideo');
var timeNode = window.document.querySelector('.time');
videoNode.addEventListener('loadedmetadata', function(e) {
var duration = videoNode.duration.toFixed(1);
var m = duration % 60;
timeNode.innerText = Math.floor(duration / 60) + ':' + (m < 10 ? '0' : '') + m;
});
})(window);
var counter = (function() {
var i = 0;
return function(start) {
i = ++start || i;
return i++;
};
})();
console.warn(counter());
console.warn(counter());
console.warn(counter(99));
console.warn(counter());
console.warn(counter(199));
console.warn(counter());
(function($) {
$(function() {
$('#main_fons').height($('#page').height());
});
})(jQuery);
for (var i=0; i<arr.length; i++) {
if (!arr.hasOwnProperty(i)) continue;
// ...
}
for (var i=0, l=arr.length; i<l; i++) {
// ...
}
var l = arr.length;
while (l--) {
// ...
}
arr.hasOwnProperty(i)
? Вы обходите массив последовательно от 0 до arr.length-1, то есть если индексы в массиве от 0 до arr.length-1, то можно не проверять, вы обойдете все элементы, а если индексы проставлены иначе, то вы обойдете не весь массив и ваш код не работает как надо. Такую проверку обычно делают при обходе объекта с помощью for ... in ... // Было
for (var i=0;i<len;i++) {
if (data.Flight.hasOwnProperty(i)) {
// ...
}
}
// Стало
for (var i=0;i<len;i++) if (data.Flight.hasOwnProperty(i)) {
// ...
}
// Было
for (var i=0;i<flights.search_result.Air.length;i++) {
if (flights.search_result.Air.hasOwnProperty(i)) {
// ...
}
}
// Стало
for (var i=0;i<flights.search_result.Air.length;i++) {
if (!flights.search_result.Air.hasOwnProperty(i)) continue;
// ...
}
$(function() {
var time = 20; // Time in seconds
var callback = function() {
alert(time + ' seconds');
};
(function checkTime() {
if (!localStorage) return;
localStorage.userEnter = localStorage.userEnter || new Date().getTime();
if ((new Date().getTime() - localStorage.userEnter) >= time * 1000) {
localStorage.removeItem('userEnter');
callback();
return;
}
setTimeout(checkTime, 5000);
})();
});