function getMonthsDiff(d1, d2) {
var months;
months = (d2.getFullYear() - d1.getFullYear()) * 12;
months -= d1.getMonth() + 1;
months += d2.getMonth();
return months <= 0 ? 0 : months;
}
, где d1
- начальная дата, d2
- конечная дата. Т.е. now
и end
.Все современные браузеры, включая IE9+, понимают даты в упрощённом формате ISO 8601 Extended.learn.javascript.ru
Этот формат выглядит так: YYYY-MM-DDTHH:mm:ss.sssZ, где:
YYYY-MM-DD – дата в формате год-месяц-день.
Обычный символ T используется как разделитель.
HH:mm:ss.sss – время: часы-минуты-секунды-миллисекунды.
Часть 'Z' обозначает временную зону – в формате +-hh:mm, либо символ Z, обозначающий UTC. По стандарту её можно не указывать, тогда UTC, но в Safari с этим ошибка, так что лучше указывать всегда.
Также возможны укороченные варианты, например YYYY-MM-DD или YYYY-MM или даже только YYYY.
var end = new Date('2018-12-01T12:00Z');
не могу разобраться, когда таймер заканчивает отсчет, блок становится пустым. Как сделать так, чтобы по окончании таймера, в этом блоке появлялся другой блок?
changeCheck
нужно в строке var i=el.val();
поменять el
на input
.min-width
для body
со значением, достаточным для того, чтобы оба блока вмещались. function debouncer(func, timeout) {
var timeout = timeout || 200;
var timeoutID;
return function () {
var self = this;
clearTimeout(timeoutID);
timeoutID = setTimeout(function() {
func.apply(self, Array.prototype.slice.call(arguments));
}, timeout);
}
}
var text = document.getElementById('text');
window.addEventListener("resize", debouncer(function(e) {
text.innerHTML += 'был изменён размер окна<br/>';
console.log('test');
}));
$('#files').on('click', '.closeic', function (e) {
e.preventDefault();
$(this).parent().remove();
});
function imports(array, onComplete, onError) {
onComplete('test');
onError('error');
}
imports
пропущена запятая между членами массива;complete
ничего не знает о переменной test
role, id
и class
?div
, только с более выраженной целью. Про цели каждого тэга можно почитать здесь или сразу в спецификации HTML5. Использовать их или продолжать использовать div
- дело твое. Большой ошибки не будет.class
и id
обычно используются для стилизации элементов при помощи CSS и привязки JS-кода к конкретным элементам. Есть мнение, что id
для этого использовать не стоит. В-основном, потому что никогда не знаешь будет ли элемент действительно уникальным или через какое-то время появится его копия.role
я никогда не использовал в своей разметке. Отчасти, этот атрибут похож по своей идее на новые тэги HTML5. Можешь прочитать по него тут :) или в спецификации.if ($('.cartmskcountresult').text() === '1') {
location.assign($('.cartlink a').attr('href'));
}
<form name="loginForm" ng-submit="submitForm(loginForm)">
<input type="email" ng-model="user.email">
<input type="password" ng-model="user.password">
<button type="submit">Войти</button>
</form>
.controller('LoginCtrl', function ($scope, $http) {
$scope.user = {};
$scope.user.customField = 'customValue';
$scope.submitForm = function (form) {
$http.post('path/to/your/url', $scope.user)
.success(function (data) {
console.log('data:', data);
})
.error(function (data) {
console.log('Error:', data);
});
};
});