+
+
+
+
+
+
@@ -879,4 +885,30 @@ td, th {
});
}
}
+ function scrollAnimation(dom, currentY, targetY, currentX) {
+ let needScrollTop = targetY - currentY;
+ let _currentY = currentY;
+ let context = this;
+ setTimeout(() => {
+ // 一次调用滑动帧数,每次调用会不一样
+ //取总距离的十分之一
+ const dist = Math.ceil(needScrollTop / 10);
+ _currentY += dist;
+ //移动一个十分之一
+
+ dom.scrollTo(currentX || 0, _currentY);
+ // 如果移动幅度小于十个像素,直接移动,否则递归调用,实现动画效果
+ if (needScrollTop > 10 || needScrollTop < -10) {
+ context.scrollAnimation(dom, _currentY, targetY)
+ } else {
+ dom.scrollTo(_currentY, targetY)
+ }
+ }, 1)
+ }
+ function scrollTop(){
+ let logContentDom = document.querySelector('.log'), context = this;
+ if(!logContentDom)
+ return
+ scrollAnimation(logContentDom, logContentDom.scrollTop, 0);
+ }
diff --git a/web_src/less/openi.less b/web_src/less/openi.less
index c195bac38..31a8932c0 100644
--- a/web_src/less/openi.less
+++ b/web_src/less/openi.less
@@ -250,6 +250,23 @@ footer .column{margin-bottom:0!important; padding-bottom:0!important;}
.CREATING, .STOPPING, .DELETING, .STARTING, i.WAITING ,.INIT,.KILLING{display:inline-block;background-image:url('/img/loading.gif');background-repeat:no-repeat;width:16px;height:16px;background-size:16px 16px;margin-right:5px;}
i.COMPLETED,i.SUCCEEDED{display:inline-block;width:18px;height:18px;background:url("/img/icons.svg");background-position: -496px -52px;background-position: -441px -52px;}
+.icon-to-bottom{
+ background:url("/img/icons.svg");
+ background-position: -574px -208px;
+ width: 30px;
+ height: 30px;
+ display: inline-block;
+}
+.icon-to-top{
+ background:url("/img/icons.svg");
+ background-position: -540px -208px;
+ width: 30px;
+ height: 30px;
+ display: inline-block;
+}
+
+
+
.text_over{
overflow: hidden;
text-overflow: ellipsis;