| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- module.exports = {
- /**
- * Parse second to 00:00 format
- *
- * @param {Number} second
- * @return {String} 00:00 format
- */
- secondToTime: (second) => {
- const add0 = (num) => num < 10 ? '0' + num : '' + num;
- const min = parseInt(second / 60);
- const sec = parseInt(second - min * 60);
- return add0(min) + ':' + add0(sec);
- },
- /**
- * control play progress
- */
- // get element's view position
- getElementViewLeft: (element) => {
- let actualLeft = element.offsetLeft;
- let current = element.offsetParent;
- const elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;
- if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {
- while (current !== null) {
- actualLeft += current.offsetLeft;
- current = current.offsetParent;
- }
- }
- else {
- while (current !== null && current !== element) {
- actualLeft += current.offsetLeft;
- current = current.offsetParent;
- }
- }
- return actualLeft - elementScrollLeft;
- },
- getScrollPosition () {
- return {
- left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,
- top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
- };
- },
- setScrollPosition ({left = 0, top = 0}) {
- if (this.isFirefox) {
- document.documentElement.scrollLeft = left;
- document.documentElement.scrollTop = top;
- }
- else {
- window.scrollTo(left, top);
- }
- },
- /**
- * check if user is using mobile or not
- */
- isMobile: /mobile/i.test(window.navigator.userAgent),
- isFirefox: /firefox/i.test(window.navigator.userAgent),
- isChrome: /chrome/i.test(window.navigator.userAgent),
- storage: {
- set: (key, value) => {
- localStorage.setItem(key, value);
- },
- get: (key) => localStorage.getItem(key)
- }
- };
|