diff --git a/public/css/fonts/side_nav_font.woff b/public/css/fonts/side_nav_font.woff new file mode 100644 index 000000000..297c262f1 Binary files /dev/null and b/public/css/fonts/side_nav_font.woff differ diff --git a/public/site/css/side_nav.css b/public/site/css/side_nav.css new file mode 100644 index 000000000..324916190 --- /dev/null +++ b/public/site/css/side_nav.css @@ -0,0 +1,142 @@ +@font-face { + font-family: "official.iconfont"; + src: url("../../css/fonts/side_nav_font.woff"); + font-weight: normal; + font-style: normal +} + +.side_nav{ + position: fixed; + right: 20px; + bottom: 135px; + z-index: 100; +} +.side_nav .side_toolbars{ + width: 48px; + padding: 4px; + box-sizing: border-box; + border-radius: 60px; + background-color: var(--pop-bg-color); + color: var(--text-color); + box-shadow: var(--pop-box-shadow); +} +.side_nav .side_toolbars .side_toolbar_item{ + display: flex; + width: 40px; + height: 40px; + justify-content: center; + align-items: center; + border-radius: 50%; + cursor: pointer; + position: relative; +} +.side_nav .side_toolbars .side_toolbar_item .toolbar_font{ + font-size: 24px; + height: 24px; + color: var(--text-color); +} +.side_nav .side_toolbars .side_toolbar_item .toolbar_font::after{ + display: inline-block; + font-family: "official.iconfont"; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; +} +.side_nav .side_toolbars .side_toolbar_item .font_phone::after{ + content: "\EA25"; +} +.side_nav .side_toolbars .side_toolbar_item .font_qrcode::after{ + content: "\EA28"; +} +.side_nav .side_toolbars .side_toolbar_item .toolbar_tooltip{ + position: absolute; + right: 40px; + top: 2px; + transform-origin: right center; + white-space: nowrap; + width: fit-content; + display: none; + background-color: var(--code-bg-color); + color: #fff; + margin-right: 12px; + border-radius: 4px; + padding: 10px; + z-index: 2000; + font-size: 12px; + line-height: 1.2; + min-width: 10px; + word-wrap: break-word; + text-align: center; +} +.side_nav .side_toolbars .side_toolbar_item .toolbar_tooltip .toolbar_whtasapp{ + width: 120px; + height: 120px; + background-image: url('../img/side_nav_whatsapp.png'); + background-repeat: no-repeat; + background-size: cover; +} +.side_nav .side_toolbars .side_toolbar_item .toolbar_tooltip .toolbar_qrcode{ + width: 120px; + height: 120px; + background-image: url('../img/side_nav_wechat.png'); + background-repeat: no-repeat; + background-size: cover; +} +.side_nav .side_toolbars .side_toolbar_item .toolbar_tooltip .tooltip_arrow{ + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + right: -5px; + top: 11px; + border-width: 6px; + border-right-width: 0; + border-left-color: var(--code-bg-color); +} +.side_nav .side_to_top{ + width: 48px; + height: 48px; + background: #fff; + margin-top: 16px; + border-radius: 50%; + cursor: pointer; + position: relative; + display: none; + background-color: var(--pop-bg-color); + color: var(--text-color); + box-shadow: var(--pop-box-shadow); +} +.side_nav .side_to_top .side_to_top_wrapper{ + height: 40px; + width: 40px; + padding: 4px; + display: flex; + box-sizing: border-box; + border-radius: 50%; + align-items: center; + justify-content: center; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} +.side_nav .side_to_top .side_to_top_wrapper svg{ + transform: rotate(180deg); + fill: var(--text-color); + height: 24px; + width: 24px; +} +.font_whatsapp svg{ + fill: var(--text-color); +} +.side_nav .side_toolbars .side_toolbar_item:hover,.side_nav .side_to_top .side_to_top_wrapper:hover{ + background-color: var(--bg-hover-color); +} +.side_nav .side_toolbars .side_toolbar_item_whtasapp:hover .toolbar_tooltip_qq, +.side_nav .side_toolbars .side_toolbar_item_phone:hover .toolbar_tooltip_phone, +.side_nav .side_toolbars .side_toolbar_item_qrcode:hover .toolbar_tooltip_qrcode{ + display: block; +} \ No newline at end of file diff --git a/public/site/en/about.html b/public/site/en/about.html index c584cfa42..5018f2148 100644 --- a/public/site/en/about.html +++ b/public/site/en/about.html @@ -389,6 +389,8 @@ + + @@ -517,5 +519,31 @@ } window.addEventListener('scroll', animateBoxes); animateBoxes(); + document.addEventListener('DOMContentLoaded', function() { + fetch('./sideNav.html') + .then(response => response.text()) + .then(data => { + document.getElementById('nav_wrap').innerHTML = data; + // 回到顶部 + const back_top_button = document.getElementById('back_to_top'); + window.addEventListener('scroll', () => { + if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; + } else { + back_top_button.style.display = 'none'; + } + }); + back_top_button.addEventListener('click', () => { + window.scrollTo({ + top: 0, + behavior: 'smooth' + }); + }); + // 检查页面加载时的滚动位置以决定是否显示回到顶部按钮 + if (document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; // 显示回到顶部按钮 + } + }); + }); diff --git a/public/site/en/download.html b/public/site/en/download.html index 708093d8c..fb33edc87 100644 --- a/public/site/en/download.html +++ b/public/site/en/download.html @@ -340,6 +340,8 @@ + + @@ -483,5 +485,31 @@ if(!logsItem) { }else{ updates.innerHTML = logsItem; } +document.addEventListener('DOMContentLoaded', function() { + fetch('./sideNav.html') + .then(response => response.text()) + .then(data => { + document.getElementById('nav_wrap').innerHTML = data; + // 回到顶部 + const back_top_button = document.getElementById('back_to_top'); + window.addEventListener('scroll', () => { + if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; + } else { + back_top_button.style.display = 'none'; + } + }); + back_top_button.addEventListener('click', () => { + window.scrollTo({ + top: 0, + behavior: 'smooth' + }); + }); + // 检查页面加载时的滚动位置以决定是否显示回到顶部按钮 + if (document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; // 显示回到顶部按钮 + } + }); + }); diff --git a/public/site/en/help.html b/public/site/en/help.html index 1066f0238..04d6ceb22 100644 --- a/public/site/en/help.html +++ b/public/site/en/help.html @@ -2370,6 +2370,8 @@ + + @@ -2476,5 +2478,31 @@ } } } + document.addEventListener('DOMContentLoaded', function() { + fetch('./sideNav.html') + .then(response => response.text()) + .then(data => { + document.getElementById('nav_wrap').innerHTML = data; + // 回到顶部 + const back_top_button = document.getElementById('back_to_top'); + window.addEventListener('scroll', () => { + if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; + } else { + back_top_button.style.display = 'none'; + } + }); + back_top_button.addEventListener('click', () => { + window.scrollTo({ + top: 0, + behavior: 'smooth' + }); + }); + // 检查页面加载时的滚动位置以决定是否显示回到顶部按钮 + if (document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; // 显示回到顶部按钮 + } + }); + }); diff --git a/public/site/en/index.html b/public/site/en/index.html index 42db17507..a5576b161 100644 --- a/public/site/en/index.html +++ b/public/site/en/index.html @@ -532,6 +532,8 @@ + + @@ -745,5 +747,31 @@ const arcs = document.querySelector('.home_arc'); } window.addEventListener('scroll', animateBoxes); animateBoxes(); + document.addEventListener('DOMContentLoaded', function() { + fetch('./sideNav.html') + .then(response => response.text()) + .then(data => { + document.getElementById('nav_wrap').innerHTML = data; + // 回到顶部 + const back_top_button = document.getElementById('back_to_top'); + window.addEventListener('scroll', () => { + if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; + } else { + back_top_button.style.display = 'none'; + } + }); + back_top_button.addEventListener('click', () => { + window.scrollTo({ + top: 0, + behavior: 'smooth' + }); + }); + // 检查页面加载时的滚动位置以决定是否显示回到顶部按钮 + if (document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; // 显示回到顶部按钮 + } + }); + }); diff --git a/public/site/en/log.html b/public/site/en/log.html index b5d10529b..fd1e17513 100644 --- a/public/site/en/log.html +++ b/public/site/en/log.html @@ -289,6 +289,8 @@ + + @@ -527,5 +529,31 @@ function scrollHandler(){ } } } +document.addEventListener('DOMContentLoaded', function() { + fetch('./sideNav.html') + .then(response => response.text()) + .then(data => { + document.getElementById('nav_wrap').innerHTML = data; + // 回到顶部 + const back_top_button = document.getElementById('back_to_top'); + window.addEventListener('scroll', () => { + if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; + } else { + back_top_button.style.display = 'none'; + } + }); + back_top_button.addEventListener('click', () => { + window.scrollTo({ + top: 0, + behavior: 'smooth' + }); + }); + // 检查页面加载时的滚动位置以决定是否显示回到顶部按钮 + if (document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; // 显示回到顶部按钮 + } + }); + }); diff --git a/public/site/en/price.html b/public/site/en/price.html index fb4251065..746f3187e 100644 --- a/public/site/en/price.html +++ b/public/site/en/price.html @@ -1271,6 +1271,8 @@ + + diff --git a/public/site/en/product.html b/public/site/en/product.html index b3f7e8c16..d92781028 100644 --- a/public/site/en/product.html +++ b/public/site/en/product.html @@ -634,6 +634,8 @@ + + @@ -718,5 +720,31 @@ } window.addEventListener('scroll', animateBoxes); animateBoxes(); + document.addEventListener('DOMContentLoaded', function() { + fetch('./sideNav.html') + .then(response => response.text()) + .then(data => { + document.getElementById('nav_wrap').innerHTML = data; + // 回到顶部 + const back_top_button = document.getElementById('back_to_top'); + window.addEventListener('scroll', () => { + if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; + } else { + back_top_button.style.display = 'none'; + } + }); + back_top_button.addEventListener('click', () => { + window.scrollTo({ + top: 0, + behavior: 'smooth' + }); + }); + // 检查页面加载时的滚动位置以决定是否显示回到顶部按钮 + if (document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; // 显示回到顶部按钮 + } + }); + }); diff --git a/public/site/en/sideNav.html b/public/site/en/sideNav.html new file mode 100644 index 000000000..58530e9e0 --- /dev/null +++ b/public/site/en/sideNav.html @@ -0,0 +1,57 @@ + + + + + Solutions - DooTask + + + + + + + + + + + + \ No newline at end of file diff --git a/public/site/en/solutions.html b/public/site/en/solutions.html index d4384a985..c858b1c29 100644 --- a/public/site/en/solutions.html +++ b/public/site/en/solutions.html @@ -341,6 +341,8 @@ + + @@ -363,5 +365,31 @@ } window.addEventListener('scroll', animateBoxes); animateBoxes(); + document.addEventListener('DOMContentLoaded', function() { + fetch('./sideNav.html') + .then(response => response.text()) + .then(data => { + document.getElementById('nav_wrap').innerHTML = data; + // 回到顶部 + const back_top_button = document.getElementById('back_to_top'); + window.addEventListener('scroll', () => { + if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; + } else { + back_top_button.style.display = 'none'; + } + }); + back_top_button.addEventListener('click', () => { + window.scrollTo({ + top: 0, + behavior: 'smooth' + }); + }); + // 检查页面加载时的滚动位置以决定是否显示回到顶部按钮 + if (document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; // 显示回到顶部按钮 + } + }); + }); diff --git a/public/site/img/side_nav_wechat.png b/public/site/img/side_nav_wechat.png new file mode 100644 index 000000000..91f16ea93 Binary files /dev/null and b/public/site/img/side_nav_wechat.png differ diff --git a/public/site/img/side_nav_whatsapp.png b/public/site/img/side_nav_whatsapp.png new file mode 100644 index 000000000..368b9dd23 Binary files /dev/null and b/public/site/img/side_nav_whatsapp.png differ diff --git a/public/site/zh/about.html b/public/site/zh/about.html index 8fc664141..db843f335 100644 --- a/public/site/zh/about.html +++ b/public/site/zh/about.html @@ -387,6 +387,8 @@ + + @@ -517,5 +519,31 @@ } window.addEventListener('scroll', animateBoxes); animateBoxes(); + document.addEventListener('DOMContentLoaded', function() { + fetch('./sideNav.html') + .then(response => response.text()) + .then(data => { + document.getElementById('nav_wrap').innerHTML = data; + // 回到顶部 + const back_top_button = document.getElementById('back_to_top'); + window.addEventListener('scroll', () => { + if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; + } else { + back_top_button.style.display = 'none'; + } + }); + back_top_button.addEventListener('click', () => { + window.scrollTo({ + top: 0, + behavior: 'smooth' + }); + }); + // 检查页面加载时的滚动位置以决定是否显示回到顶部按钮 + if (document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; // 显示回到顶部按钮 + } + }); + }); diff --git a/public/site/zh/download.html b/public/site/zh/download.html index d317eeffb..d2183005d 100644 --- a/public/site/zh/download.html +++ b/public/site/zh/download.html @@ -338,6 +338,8 @@ + + @@ -481,5 +483,31 @@ if(!logsItem) { }else{ updates.innerHTML = logsItem; } +document.addEventListener('DOMContentLoaded', function() { + fetch('./sideNav.html') + .then(response => response.text()) + .then(data => { + document.getElementById('nav_wrap').innerHTML = data; + // 回到顶部 + const back_top_button = document.getElementById('back_to_top'); + window.addEventListener('scroll', () => { + if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; + } else { + back_top_button.style.display = 'none'; + } + }); + back_top_button.addEventListener('click', () => { + window.scrollTo({ + top: 0, + behavior: 'smooth' + }); + }); + // 检查页面加载时的滚动位置以决定是否显示回到顶部按钮 + if (document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; // 显示回到顶部按钮 + } + }); + }); diff --git a/public/site/zh/help.html b/public/site/zh/help.html index 0f00b878f..191e2fdaf 100644 --- a/public/site/zh/help.html +++ b/public/site/zh/help.html @@ -749,6 +749,8 @@ + + @@ -843,5 +845,31 @@ function scrollHandler(){ } } } +document.addEventListener('DOMContentLoaded', function() { + fetch('./sideNav.html') + .then(response => response.text()) + .then(data => { + document.getElementById('nav_wrap').innerHTML = data; + // 回到顶部 + const back_top_button = document.getElementById('back_to_top'); + window.addEventListener('scroll', () => { + if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; + } else { + back_top_button.style.display = 'none'; + } + }); + back_top_button.addEventListener('click', () => { + window.scrollTo({ + top: 0, + behavior: 'smooth' + }); + }); + // 检查页面加载时的滚动位置以决定是否显示回到顶部按钮 + if (document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; // 显示回到顶部按钮 + } + }); + }); diff --git a/public/site/zh/index.html b/public/site/zh/index.html index 79d7d759b..36ea3ecb6 100644 --- a/public/site/zh/index.html +++ b/public/site/zh/index.html @@ -531,6 +531,8 @@ + + @@ -745,5 +747,31 @@ const arcs = document.querySelector('.home_arc'); } window.addEventListener('scroll', animateBoxes); animateBoxes(); + document.addEventListener('DOMContentLoaded', function() { + fetch('./sideNav.html') + .then(response => response.text()) + .then(data => { + document.getElementById('nav_wrap').innerHTML = data; + // 回到顶部 + const back_top_button = document.getElementById('back_to_top'); + window.addEventListener('scroll', () => { + if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; + } else { + back_top_button.style.display = 'none'; + } + }); + back_top_button.addEventListener('click', () => { + window.scrollTo({ + top: 0, + behavior: 'smooth' + }); + }); + // 检查页面加载时的滚动位置以决定是否显示回到顶部按钮 + if (document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; // 显示回到顶部按钮 + } + }); + }); diff --git a/public/site/zh/log.html b/public/site/zh/log.html index 59a5a9571..389260294 100644 --- a/public/site/zh/log.html +++ b/public/site/zh/log.html @@ -289,6 +289,8 @@ + + @@ -525,5 +527,31 @@ function scrollHandler(){ } } } +document.addEventListener('DOMContentLoaded', function() { + fetch('./sideNav.html') + .then(response => response.text()) + .then(data => { + document.getElementById('nav_wrap').innerHTML = data; + // 回到顶部 + const back_top_button = document.getElementById('back_to_top'); + window.addEventListener('scroll', () => { + if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; + } else { + back_top_button.style.display = 'none'; + } + }); + back_top_button.addEventListener('click', () => { + window.scrollTo({ + top: 0, + behavior: 'smooth' + }); + }); + // 检查页面加载时的滚动位置以决定是否显示回到顶部按钮 + if (document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; // 显示回到顶部按钮 + } + }); + }); diff --git a/public/site/zh/price.html b/public/site/zh/price.html index 501df49db..73e3c4ab0 100644 --- a/public/site/zh/price.html +++ b/public/site/zh/price.html @@ -1279,6 +1279,8 @@ + + @@ -1314,5 +1316,31 @@ const box = document.querySelector('.BulletBox1') box.style.display = 'none' }) + document.addEventListener('DOMContentLoaded', function() { + fetch('./sideNav.html') + .then(response => response.text()) + .then(data => { + document.getElementById('nav_wrap').innerHTML = data; + // 回到顶部 + const back_top_button = document.getElementById('back_to_top'); + window.addEventListener('scroll', () => { + if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; + } else { + back_top_button.style.display = 'none'; + } + }); + back_top_button.addEventListener('click', () => { + window.scrollTo({ + top: 0, + behavior: 'smooth' + }); + }); + // 检查页面加载时的滚动位置以决定是否显示回到顶部按钮 + if (document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; // 显示回到顶部按钮 + } + }); + }); diff --git a/public/site/zh/product.html b/public/site/zh/product.html index 479d7b1cd..d87a45245 100644 --- a/public/site/zh/product.html +++ b/public/site/zh/product.html @@ -636,6 +636,8 @@ + + @@ -719,5 +721,31 @@ } window.addEventListener('scroll', animateBoxes); animateBoxes(); + document.addEventListener('DOMContentLoaded', function() { + fetch('./sideNav.html') + .then(response => response.text()) + .then(data => { + document.getElementById('nav_wrap').innerHTML = data; + // 回到顶部 + const back_top_button = document.getElementById('back_to_top'); + window.addEventListener('scroll', () => { + if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; + } else { + back_top_button.style.display = 'none'; + } + }); + back_top_button.addEventListener('click', () => { + window.scrollTo({ + top: 0, + behavior: 'smooth' + }); + }); + // 检查页面加载时的滚动位置以决定是否显示回到顶部按钮 + if (document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; // 显示回到顶部按钮 + } + }); + }); diff --git a/public/site/zh/sideNav.html b/public/site/zh/sideNav.html new file mode 100644 index 000000000..49e8f60bb --- /dev/null +++ b/public/site/zh/sideNav.html @@ -0,0 +1,58 @@ + + + + + DooTask - 最受欢迎的开源项目协助工具 + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/site/zh/solutions.html b/public/site/zh/solutions.html index 5c6216293..6c433c5da 100644 --- a/public/site/zh/solutions.html +++ b/public/site/zh/solutions.html @@ -342,6 +342,8 @@ + + @@ -364,5 +366,31 @@ } window.addEventListener('scroll', animateBoxes); animateBoxes(); + document.addEventListener('DOMContentLoaded', function() { + fetch('./sideNav.html') + .then(response => response.text()) + .then(data => { + document.getElementById('nav_wrap').innerHTML = data; + // 回到顶部 + const back_top_button = document.getElementById('back_to_top'); + window.addEventListener('scroll', () => { + if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; + } else { + back_top_button.style.display = 'none'; + } + }); + back_top_button.addEventListener('click', () => { + window.scrollTo({ + top: 0, + behavior: 'smooth' + }); + }); + // 检查页面加载时的滚动位置以决定是否显示回到顶部按钮 + if (document.documentElement.scrollTop > 20) { + back_top_button.style.display = 'block'; // 显示回到顶部按钮 + } + }); + });