$(function () {
var target = $('селектор_блока_для_вставки'),
index = 1;
$(window).on('scroll', function (e) {
var scroll = $(this).scrollTop();
if (/*Проверяем что-то*/) {
insert();
}
});
function insert () {
$.ajax({
url: index + '.html',
beforeSend: function () {
//Тут можно показать крутилку
}
}).done(function (data) {
target.append(data);
//target.html(data); //Если нужно не добавить, а заменить
index++;
stop();
}).fail(function () {
//Не вышло
stop();
});
function stop () {
//Тут крутилку останавливаем
}
}
});
var countName = [
'Петя',
'Вася'
];
for (var i = 0, data = []; i < countName.length; ++i) {
data.push({});
data[data.length - 1][countName[i]] = {
age: 10
};
}
for (var i = 0, data = []; i < countName.length; ++i) {
data.push(set(countName[i], 10));
}
function set (name, value) {
var object = {};
object[name] = {
age: value
};
return object;
}
for (var i = 0, data = []; i < countName.length; ++i) {
data.push(set(countName[i], 10));
}
function set (name, value) {
var object = {};
Object.defineProperty(object, name, {
value: {
age: value
}
});
return object;
}
<input type="text" name="key" data-action="key" data-id="23">
<input type="text" name="key" data-action="key" data-id="45">
<a href="/todo.php?news=23" data-link="key" data-id="23">Ссыль #1</a>
<a href="/todo.php?news=23#test" data-link="key" data-id="23">Ссыль #2</a>
<a href="/todo.php?news=45" data-link="key" data-id="45">Ссыль</a>
$(document).on('input', '[data-action="key"]', function () {
var input = $(this),
name = input.data('action'),
value = input.val();
$('[data-link="key"][data-id="' + input.data('id') + '"]').each(function () {
var link = $(this),
urlHash = link.attr('href').split('#'),
urlSearch = urlHash[0].split('?'),
href = urlSearch[0],
params;
if (urlSearch[1]) {
params = urlSearch[1].split('&');
for (var i = params.length, pair; i--;) {
pair = params[i].split('=');
if (pair[0] == name) {
params[i] = name + '=' + value;
break;
}
}
if (i < 0) {
params.push(name + '=' + value);
}
} else {
params = [name + '=' + value];
}
href += '?' + params.join('&');
if (urlHash[1]) {
href += '#' + urlHash[1];
}
link.attr({
href: href
});
});
});
$(document).on('change', '[type="number]', function () {
var item = $(this),
container = item.closest('.item'),
otherItems = $('input', container),
theFuckingCheckboxInput = otherItems.filter('[type="chekbox"]');
console.log(item.attr('min'));
console.log(item.val());
console.log(theFuckingCheckboxInput.is(':checked'));
});
/*Задаём начало учебного года, месяц задан в человеческом восприятии*/
var start = [9, 1];
function getIndex (date, month, year) {
/*Исправляем возможную неточность в месяце*/
month = month % 12;
/*Если год не получен, берём из текущей даты*/
year = year || new Date().getFullYear();
var currentDay = new Date(year, month - 1, date),
/*Узнаём начало текущей недели*/
startWeekDay = date - (currentDay.getDay() + 6) % 7,
/*Определяем год начала учебного года*/
startYear = month < start[0] ? year - 1 : year,
/*Получаем разницу между началом текущей недели и началом учебного года*/
delta = new Date(year, month - 1, startWeekDay) - new Date(startYear, start[0] - 1, start[1]);
return Math.ceil(delta / (7 * 1000 * 3600 * 24)) % 2 + 1;
}
console.log(getIndex(30, 4, 2015)); //30 апреля 2015 года
console.log(getIndex(1, 5, 2015)); //1 мая 2015 года
console.log(getIndex(4, 5, 2015)); //4 мая 2015 года — начало новой недели
console.log(getIndex(4, 5)); //4 мая текущего года
if (x === 'a') {
//Только для 'a'
} else if (x === 'b' || x === 'c' || x === 'd') {
//Только для 'b', 'c', 'd'
} else {
//Для остальных
}
switch (x) {
case 'a':
//Только для 'a'
break;
case 'b':
case 'c':
case 'd':
//Только для 'b', 'c', 'd'
break;
default:
//Для остальных
}
switch (x) {
case 'a':
//Только для 'a'
case 'b':
//Только для 'a', 'b'
case 'c':
case 'd':
//Только для 'a', 'b', 'c', 'd'
break;
default:
//Для остальных
}
<audio class="audiocontrol" type="audio/mpeg"></audio>
$(function () {
var music = [
'a1.mp3',
'a2.mp3',
'a3.mp3'
],
player = $('.audiocontrol');
$('.play').on('click', function () {
player.attr({
src: 'music/' + music[Math.round(Math.random() * (music.length - 1))]
});
});
player.on('loadeddata', function () {
this.currentTime = 30;
this.play();
});
});
try {
//тут возможно проблемный код
} catch (error) {
//а тут то, что делать, когда код выше вызвал ошибку
}
function one (request) {
var defer = $/Deferred();
$.ajax({
...
}).done(function (data) {
defer.resolve(data);
}).done(function () {
defer.resolve();
});
return defer.promise();
}
one.then(function (data) {
if (data) {
//Запрос успешен
} else {
//Запрос провален
}
});
<video data-type="video" data-id="1" type="video/mp4" src="/data/NFL.1.mp4" controls></video>
<video data-type="video" data-id="2" type="video/mp4" src="/data/NFL.2.mp4" controls></video>
$(function (e) {
var videos = $('[data-type="video"]');
videos.on('ended', function () {
var id = parseInt($(this).data('id')) + 1,
video = videos.filter('[data-id="' + id + '"]');
if (video.length) {
video.get(0).play();
}
});
});