DonJabone

VannilaJS-Exam

Jun 9th, 2014
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function createCalendar(selector, events) {
  2.     var contentDiv = document.querySelector(selector);
  3.     var table = ''
  4.     table += '<table id="table"><tr>';
  5.     var arrayWithEvent = events.sort(function (a, b) { return a.date - b.date });
  6.     for (var i = 1; i < 31; i++) {
  7.         var content = '';
  8.         for (var k = 0; k < arrayWithEvent.length; k++) {
  9.             if (arrayWithEvent[k].date == i) {
  10.                 content = arrayWithEvent[k].title + ' time: ' + arrayWithEvent[k].hour + ' Duration: ' + arrayWithEvent[k].duration;
  11.             }
  12.         }
  13.         var date = new Date(2014, 5, i) + '';
  14.         var date = date.substring(0, date.indexOf('2014') + 4);
  15.         var currentDate = '<td><div class="date">' + date + '</div><div class="date-description">' + content + '<div>';
  16.         table += currentDate;
  17.         if (i % 7 == 0) {
  18.             table += '</tr><tr>'
  19.         }
  20.     }
  21.     table += '</table>';
  22.     contentDiv.innerHTML += table;
  23.     var table = document.getElementById('table');
  24.     table.style.borderCollapse = 'collapse';
  25.     var td = document.getElementsByTagName('td');
  26.     for (var i = 0,len = td.length; i < len; i++) {
  27.         td[i].style.width = '130px';
  28.         td[i].style.height = '100px';
  29.         td[i].style.position = 'relative';
  30.         td[i].style.border = '2px solid black';
  31.         td[i].style.borderCollapse = 0;
  32.  
  33.     }
  34.     var dateDiv = document.getElementsByClassName('date');
  35.     function onMouseOver(){
  36.         this.style.background = 'gray';
  37.     }
  38.     function onMouseOut() {
  39.         this.style.background = 'lightgray';
  40.     }
  41.     function onClick() {
  42.         var dateDiv = document.getElementsByClassName('date');
  43.         for (var i = 0, len1 = dateDiv.length; i < len1; i++) {
  44.             dateDiv[i].style.background = 'lightgray';
  45.             dateDiv[i].addEventListener('mouseover', onMouseOver,false);
  46.             dateDiv[i].addEventListener('mouseout', onMouseOut,false);
  47.         }
  48.         this.removeEventListener('mouseover', onMouseOver, false);
  49.         this.removeEventListener('mouseout', onMouseOut, false);
  50.         this.style.background = 'white';
  51.     }
  52.  
  53.     for (var i = 0, len1 = dateDiv.length; i < len1; i++) {
  54.         dateDiv[i].style.position = 'absolute';
  55.         dateDiv[i].style.top = 0;
  56.         dateDiv[i].style.left = 0;
  57.         dateDiv[i].style.background = 'lightgray';
  58.         dateDiv[i].style.width = '132px';
  59.         dateDiv[i].style.textAlign = 'center';
  60.         dateDiv[i].style.borderBottom = '1px solid black';
  61.         dateDiv[i].addEventListener('mouseover', onMouseOver,false);
  62.         dateDiv[i].addEventListener('mouseout', onMouseOut,false);
  63.         dateDiv[i].addEventListener('click', onClick,false);
  64.  
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment