Godziny na planie polsl

Dodaje godziny rozpoczecia zajec na planie

  1. // ==UserScript==
  2. // @name Godziny na planie polsl
  3. // @description Dodaje godziny rozpoczecia zajec na planie
  4. // @version 1.1.0
  5. // @author peXu
  6. // @namespace https://gf.qytechs.cn/pl/users/10243-pexu
  7. // @include http://plan.polsl.pl/*
  8. // @include https://plan.polsl.pl/*
  9. // @run-at document-end
  10. // @grant unsafeWindow
  11. // ==/UserScript==
  12.  
  13. // funkcja konwertujaca czas z postaci liczbowej na tekstowa ( 5.5 -> 05:30)
  14. function timeToString(time) {
  15. var godz = Math.floor(time);
  16. var min = Math.round((time%1)*60);
  17. if (godz<10) godz = '0' + godz;
  18. if (min<10) min = '0' + min;
  19. return String(godz+':'+min);
  20. }
  21.  
  22. // funkcja konwertujaca czas z postaci tekstowej na liczbowa ( 05:30 -> 5.5)
  23. function stringToTime(string) {
  24. string = string.split(":");
  25. return Number(string[0])+Number(string[1])/60;
  26. }
  27.  
  28.  
  29. poczatek = Number(jQuery("div.cd:contains('Tydzień'):eq(1)+div.cd").css('top').slice(0,-2))+1; // pozycja top pierwszego wiersza planu z zajeciami (slice odcina "px" ze stringu), +1 ze wzgledu na ramke
  30. startZajec = Number(jQuery("div.cd:contains('Tydzień'):eq(1)+div.cd").text().substr(0,2)); // godzina rozpoczecia pierwszych zajec na planie
  31.  
  32. // wywolanie funkcji dodajacej czas dla wszystkich zajec na planie
  33. jQuery('.coursediv').each( function() {
  34. var self = jQuery(this);
  35. var top = Number(self.css('top').slice(0, -2)); // pozycja top danego zajecia
  36. var min = ((top-poczatek)%45)/11*15; // wyliczamy minuty zajec, 45 - wysokosc godziny, 11 - wysokosc 15 minut, 15 - 15 minut ;p
  37. var godz = startZajec + Math.floor((top-poczatek)/45); // dodajemy ilosc godzin poprzedzajacych zajecia do startu pierwszych zajec
  38. if (godz<10) godz = '0' + godz; // upiekaszanie
  39. if (min<10) min = '0' + min; // upiekszanie
  40. var rozpoczecie = godz+':'+min;
  41. var wys = Number(self.css('height').slice(0, -2));
  42. var dlugoscZajec = Math.floor((wys+11)/11)*15/60;
  43. var zakonczenie = timeToString(stringToTime(rozpoczecie)+dlugoscZajec);
  44. self.html('<p class="js-czas" style="position:absolute;font-weight:bold;text-align:right;text-shadow: 0px 1px 0px #EEE;color:#111;font-size:9px;right: 2px; background-color: rgba(255, 255, 255, 0.5); border-radius: 5px; padding: 1px; border: 1px solid rgba(0, 0, 0, 0.5);top:-7px;">' + rozpoczecie + '</p>'+self.html());
  45. self.html(self.html()+'<p class="js-czas" style="position:absolute;font-weight:bold;text-align:right;text-shadow: 0px 1px 0px #EEE;color:#111;font-size:9px;right: 2px; background-color: rgba(255, 255, 255, 0.5); border-radius: 5px; padding: 1px; border: 1px solid rgba(0, 0, 0, 0.5); bottom:-7px;">' + zakonczenie + '</p>');
  46. });
  47.  
  48. jQuery('.coursediv').hover(function() { // ukrywanie godzin po najechaniu myszka na div
  49. jQuery(this).children('p.js-czas').fadeOut(122).dequeue();
  50. }, function() {
  51. jQuery(this).children('p.js-czas').fadeIn(122).dequeue();
  52. });

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址