Создаем таймер обратного отсчета на сайте 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Создаем таймер обратного отсчета на сайте



https://alligator.io/js/object-property-shorthand-es6/

//timer

 

//1) функция которая будет устанавливать наш таймер

//2) функционал который будет определять разницу между текущим временем и дедлайном

//3)ф-я которая буудет заниматься обновление таймера

 

const deadline = '2020-9-25';

 

function getTimeRemaining(endtime) {

const t = Date.parse(endtime) - Date.parse(new Date()),

days = Math.floor((t/(1000*60*60*24))),

seconds = Math.floor((t/1000) % 60),

minutes = Math.floor((t/1000/60) % 60),

hours = Math.floor((t/(1000*60*60) % 24));

 

return {

'total': t,

'days': days,

'hours': hours,

'minutes': minutes,

'seconds': seconds

};

}

 

function getZero(num){

if (num >= 0 && num < 10) {

return '0' + num;

} else {

return num;

}

}

 

function setClock(selector, endtime) {

 

const timer = document.querySelector(selector),

days = timer.querySelector("#days"),

hours = timer.querySelector('#hours'),

minutes = timer.querySelector('#minutes'),

seconds = timer.querySelector('#seconds'),

timeInterval = setInterval(updateClock, 1000);

 

updateClock();

 

function updateClock() {

const t = getTimeRemaining(endtime);

 

days.innerHTML = getZero(t.days);// можно использовать textContent

hours.innerHTML = getZero(t.hours);

minutes.innerHTML = getZero(t.minutes);

seconds.innerHTML = getZero(t.seconds);

 

if (t.total <= 0) {

clearInterval(timeInterval);

}

}

}

 

setClock('.timer', deadline);

 

Параметры документа, окна и работа с ними / метрики

document. – объект,который содержит в себе всю HTML структуру в более сложном варианте

window.- окно в котором показывается документ. scrin -  весь видимый монитор

Создаем модальное окно

Функции-конструкторы

ES5 https://learn.javascript.ru/constructor-new

'use strict'; const num = new Function(3); console.log(num);
Такие ф-и предназначены для кон-я {} и create multi similar copies

В таких ф-ях не нужен return, тут ничего не возвращаем

 

Добавлю метод exit()

 

 

Если такая ф-я будет содержать методы и свойства, то в итоге она создаст новый объект. Создание ф-и мы создаём объект, сво-ва которой уже прописаны в этой функции. Пример ф-я User При таком синтаксисе функция стала конструктором. С помощью неё можно теперь создовать новых пользователей. В переменной ivan – {}, т.к User – ф-я конс-р и когда она вызывается при помощи ключевого слова   new, она создаёт новый {} с теми сво-ми, что в ней записано. При помощи prototype можно добавить свойство. Этот приём используется когда нет доступа к прототипу или я не могу изменить его по каким-то причинам, но его нужно как-то модифицировать Этот метод будет наследоваться прототипно и он появиться у всех потомков, которые будут написаны после после него

Мы указывает не прототип, как это было в setProtoType(), когда одно наследуется от другого объекта, а просто добавляю новое сво-во,либо методы в уже существующий объект

Итог: ф-и конст-ы нужны для создания новых однотипных {}. В практике это – новые пользователи сайта, товары в магазинах, ролики на ютубе везде, где есть шаблонизация

Даже компоненты сайтов могут создаваться таким образом

Классы – в ES6 появилися ситнаксический сахар(обёртка) для всего выше описанного кода

class User {

constructor(name, id) {

this. name = name;

this. id = id;

this. human = true;

}

hello(){

console.log(`Hello ${ this. name}`);

}

exit(){

console.log(` The User ${ this. name} left`);

}

}

 

Контекст вызова. This

https://tproger.ru/translations/javascript-this-keyword/   

Контекст вызова This – то,что окружает функцию и в каких условиях она вызываеться

Контекст вызова вызывается 4 - мя способами
 

 

1) Обычная ф-я

Без строго режима: this будет ссылаться на глобальный объект Window

 

строгий режим: то underfined

 

Контекст вызова – место функционирования

Я будучи дома ф-ю в доме. Я будучи наулице ф-ю с миром, будучи в машине ф-ю в машине

Undefind – т.к строгий режим. Даже если use ф-я внутри ф-и КВ не меняется. Переменные не будут найдены, т.к исаться они будут в ф-и sum, если оставить a + b, то всё заработает из-за замыкания ф-и Sum ищет переменный сначала внутри себя она их не находит и она обращается уже к родительской ф-и showThis -> 9

2)Контекс вызова внутри объекта будет ссылаться на этот объект / получаем тот {} в котором находиться метод. Контекст у методов объекта – сам объект

 

undefiend – потому что это простой вызов функции. Он не относиться к объекту. Это функция не метод объекта, она запускаеться внутри функции

 

3) this в конструкторах и классах – будет ссылаться на новый экземпляр объекта



Поделиться:


Последнее изменение этой страницы: 2021-07-18; просмотров: 72; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.48.135 (0.011 с.)