github.com/oinume/lekcije@v0.0.0-20231017100347-5b4c5eb6ab24/backend/infrastructure/dmm_eikaiwa/testdata/49393_files/pc-tablet-login.js (about) 1 var NaviApiTabletLogin = function () {}; 2 3 // Opened 4 NaviApiTabletLogin.openLogin = function () { 5 NaviApiTabletLogin.main.style.visibility = 'visible'; 6 NaviApiTabletLogin.main.style.opacity = 1; 7 NaviApiTabletLogin.main.style.zIndex = 1100; 8 NaviApiTabletLogin.isOpened = true; 9 }; 10 11 // Closed 12 NaviApiTabletLogin.closeLogin = function () { 13 NaviApiTabletLogin.main.style.visibility = 'hidden'; 14 NaviApiTabletLogin.main.style.opacity = 0; 15 NaviApiTabletLogin.main.style.zIndex = 1; 16 NaviApiTabletLogin.isOpened = false; 17 }; 18 19 // Validate 20 NaviApiTabletLogin.isLogin = function (tapTargetElement, openNavigationElement) { 21 if (tapTargetElement === openNavigationElement) { 22 return true; 23 } 24 if (tapTargetElement.parentNode === null) { 25 return false; 26 } 27 return NaviApiTabletLogin.isLogin(tapTargetElement.parentNode, openNavigationElement); 28 }; 29 30 // script attribute defer is mandatory 31 NaviApiTabletLogin.isOpened = false; 32 // TODO replace `class` to `id` 33 NaviApiTabletLogin.root = document.getElementsByClassName('_n4v1-login')[0]; 34 NaviApiTabletLogin.icon = document.getElementsByClassName('_n4v1-login-icon')[0]; 35 NaviApiTabletLogin.main = document.getElementsByClassName('_n4v1-login-main')[0]; 36 37 // Add Listner:Open 38 NaviApiTabletLogin.icon.addEventListener('touchend', function () { 39 if (NaviApiTabletLogin.isOpened) { 40 NaviApiTabletLogin.closeLogin(); 41 } else { 42 NaviApiTabletLogin.openLogin(); 43 } 44 }); 45 46 // Add Listner:Close 47 document.body.addEventListener('touchend', function (e) { 48 if (!NaviApiTabletLogin.isLogin(e.target, NaviApiTabletLogin.root)) { 49 NaviApiTabletLogin.closeLogin(); 50 } 51 });