feat(core): 优化xscrollbar滚动条拖拽时的光标样式
This commit is contained in:
@@ -83,8 +83,4 @@ html[data-bs-theme=dark] .vertical-line,
|
|||||||
html[data-bs-theme=dark] .drag-s-elem,
|
html[data-bs-theme=dark] .drag-s-elem,
|
||||||
html[data-bs-theme=dark] .drag-w-elem {
|
html[data-bs-theme=dark] .drag-w-elem {
|
||||||
background-color: rgb(8 105 170);
|
background-color: rgb(8 105 170);
|
||||||
}
|
|
||||||
|
|
||||||
.drag-disable * {
|
|
||||||
pointer-events: none !important;
|
|
||||||
}
|
}
|
||||||
@@ -143,24 +143,37 @@ class XScrollbar {
|
|||||||
// 上一次的拖动位置
|
// 上一次的拖动位置
|
||||||
let screenX = null;
|
let screenX = null;
|
||||||
let screenY = null;
|
let screenY = null;
|
||||||
|
this.$thumbX.onpointerdown = (elemEvent) => {
|
||||||
|
const { currentTarget } = elemEvent;
|
||||||
|
currentTarget.setPointerCapture(elemEvent.pointerId);
|
||||||
|
};
|
||||||
|
this.$thumbX.onpointerup = (elemEvent) => {
|
||||||
|
const { currentTarget } = elemEvent;
|
||||||
|
currentTarget.releasePointerCapture(elemEvent.pointerId);
|
||||||
|
};
|
||||||
this.$thumbX.addEventListener('mousedown', (e) => {
|
this.$thumbX.addEventListener('mousedown', (e) => {
|
||||||
this.$trackX.classList.add('x-scrollbar__track--draging');
|
this.$trackX.classList.add('x-scrollbar__track--draging');
|
||||||
this.thumbXActive = true;
|
this.thumbXActive = true;
|
||||||
screenX = e.screenX;
|
screenX = e.screenX;
|
||||||
$('body').addClass('drag-disable');
|
|
||||||
});
|
});
|
||||||
|
this.$thumbY.onpointerdown = (elemEvent) => {
|
||||||
|
const { currentTarget } = elemEvent;
|
||||||
|
currentTarget.setPointerCapture(elemEvent.pointerId);
|
||||||
|
};
|
||||||
|
this.$thumbY.onpointerup = (elemEvent) => {
|
||||||
|
const { currentTarget } = elemEvent;
|
||||||
|
currentTarget.releasePointerCapture(elemEvent.pointerId);
|
||||||
|
};
|
||||||
this.$thumbY.addEventListener('mousedown', (e) => {
|
this.$thumbY.addEventListener('mousedown', (e) => {
|
||||||
this.$trackY.classList.add('x-scrollbar__track--draging');
|
this.$trackY.classList.add('x-scrollbar__track--draging');
|
||||||
this.thumbYActive = true;
|
this.thumbYActive = true;
|
||||||
screenY = e.screenY;
|
screenY = e.screenY;
|
||||||
$('body').addClass('drag-disable');
|
|
||||||
});
|
});
|
||||||
this.onMouseup = ((e) => {
|
this.onMouseup = ((e) => {
|
||||||
this.$trackX.classList.remove('x-scrollbar__track--draging');
|
this.$trackX.classList.remove('x-scrollbar__track--draging');
|
||||||
this.$trackY.classList.remove('x-scrollbar__track--draging');
|
this.$trackY.classList.remove('x-scrollbar__track--draging');
|
||||||
this.thumbXActive = false;
|
this.thumbXActive = false;
|
||||||
this.thumbYActive = false;
|
this.thumbYActive = false;
|
||||||
$('body').removeClass('drag-disable');
|
|
||||||
}).bind(this);
|
}).bind(this);
|
||||||
document.addEventListener('mouseup', this.onMouseup);
|
document.addEventListener('mouseup', this.onMouseup);
|
||||||
this.onMousemove = ((e) => {
|
this.onMousemove = ((e) => {
|
||||||
@@ -287,7 +300,6 @@ class XScrollbar {
|
|||||||
document.removeEventListener('mousemove', this.onMousemove);
|
document.removeEventListener('mousemove', this.onMousemove);
|
||||||
this.$container.removeEventListener('wheel', this.onWheel);
|
this.$container.removeEventListener('wheel', this.onWheel);
|
||||||
this.$container.removeEventListener('scroll', this.onScroll);
|
this.$container.removeEventListener('scroll', this.onScroll);
|
||||||
|
|
||||||
this.$dom.classList.remove('x-scrollbar');
|
this.$dom.classList.remove('x-scrollbar');
|
||||||
this.$dom.classList.remove('x-scrollbar-keep');
|
this.$dom.classList.remove('x-scrollbar-keep');
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user