Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;
- // функция объект для счетчика
- function myCounter(event, theme, final, link){
- if(event){
- this.event = event;
- }
- if(theme){
- this.theme = theme;
- }
- if(final){
- this.final = final;
- }
- if(link){
- this.link = link;
- }
- }
- // функция для обертки счетчика
- function wrapperCounter(event, theme, date, link){
- // если счетчику заданы параметры "событие" и "шаблон события", то создается счетчик
- if(counter_obj.event && counter_obj.theme){
- let block = document.createElement("div");
- // если создалась основная обертка для счетчика
- if(block) {
- // добавляем класс по умолчанию обертке - template
- block.className = event + "-" + theme + " template";
- // добавляем стили для счетчика в head
- let styles = document.createElement("link");
- styles.href = "j/css/counter/" + event + "/" + theme + ".css";
- styles.rel = "stylesheet";
- document.querySelectorAll("head")[0].appendChild(styles);
- // вычисляем период от текущей даты до события
- let distance = new Date(date.replace(/(\d+).(\d+).(\d+)/, '$3/$2/$1')) - new Date();
- // если это значение отрицательно, добавляем основной обертке еще класс "zero"
- if (distance <= 0) {
- block.className += " zero";
- }
- // иначе продолжаем создавать счетчик
- else {
- let wrap = document.createElement("div");
- if (wrap) {
- wrap.className = "counter-wrap";
- block.appendChild(wrap);
- }
- }
- // в любом счетчике, если указана ссылка, создаем указанную ссылку на счетчике
- if (link) {
- let linker = document.createElement("a");
- linker.className = "counter-link";
- linker.href = link;
- linker.target = "_blank";
- block.appendChild(linker);
- }
- return block;
- }
- }
- }
- // берем все объявленные счетчики
- let counter = document.querySelectorAll(".counter");
- // если у нас имеются счетчики, для каждого создается обертка
- if(counter){
- for(let c = 0; c < counter.length; c++){
- // создаем объект счетчика
- counter_obj = new myCounter();
- // передаем параметры счетчиков в объект
- if(counter[c].dataset.theme){
- counter_obj.theme = counter[c].dataset.theme;
- }
- if(counter[c].dataset.event){
- counter_obj.event = counter[c].dataset.event;
- }
- if(counter[c].dataset.date){
- counter_obj.final = counter[c].dataset.date;
- }
- if(counter[c].dataset.link){
- counter_obj.link = counter[c].dataset.link;
- }
- // добавляем счетчик в наш блок с классом "counter"
- counter[c].appendChild(wrapperCounter(counter_obj.event, counter_obj.theme, counter_obj.final, counter_obj.link));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement