Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度2窗口。滚动到不工作?_Javascript_Jquery_Html_Css_Angularjs - Fatal编程技术网

Javascript 角度2窗口。滚动到不工作?

Javascript 角度2窗口。滚动到不工作?,javascript,jquery,html,css,angularjs,Javascript,Jquery,Html,Css,Angularjs,我正在尝试使用它,这样当用户拖动元素时,设置为“overflow:auto”的mydiv元素将滚动 拖动元素有效,检索正确的鼠标数据也有效(例如初始拖动时的x/y位置(onDragStart))以及鼠标移动时的当前x/y位置 我意识到我的滚动逻辑可能是关闭的,但我更只是试图让div元素滚动。任何关于什么是错误的洞察都将非常感激…材料设计也被使用 注意:我正在使用ng元数据,其中端口Angular 1看起来像Angular 2,Angular 1或Angular 2中的任何指导都会很有帮助 @au

我正在尝试使用它,这样当用户拖动元素时,设置为“overflow:auto”的mydiv元素将滚动

拖动元素有效,检索正确的鼠标数据也有效(例如初始拖动时的x/y位置(onDragStart))以及鼠标移动时的当前x/y位置

我意识到我的滚动逻辑可能是关闭的,但我更只是试图让div元素滚动。任何关于什么是错误的洞察都将非常感激…材料设计也被使用

注意:我正在使用ng元数据,其中端口Angular 1看起来像Angular 2,Angular 1或Angular 2中的任何指导都会很有帮助

@autobind
onDragStart({clientX, clientY}) {
  this.initY = clientY;
  if (this.isDragging) return;
  document.addEventListener('mousemove', this.dragListener = (e) => {
  e.preventDefault();
  if (Math.max(Math.abs(e.clientX - clientX), Math.abs(e.clientY - clientY)) > 3) {
    document.removeEventListener('mousemove', this.dragListener);
    document.addEventListener('mousemove', this.onDrag);
    this.dragListener = this.onDrag;
    this.fileService.dragSource = this.file;
    // onDrag needs to be called before Angular can set the proper classes
    this._element.toggleClass('dragging', this.isDragging);
    this._element.toggleClass('bulk-dragging', this.inBulkDragOp);
    this.onDragScroll(e);
    this.onDrag(e);
    this.drag.emit();
    this._scope.$applyAsync();
  }
});
}

@autobind
onDrag(e) {
  console.log("Dragging...");
  console.log(e);
  var currentY = e.clientY;
  var range = 100; // Range of 100px before scrolling begins... May need tweaking if too responsive

if (currentY > this.initY + range) {
  console.log("SCROLL DOWN");
  window.scrollTo(0, 500);
} else if (currentY < this.initY - range) {
  console.log("SCROLL UP");
}
e.preventDefault();
this._element.css('transform', `translate(${e.clientX - this._element[0].clientWidth / 2}px, ${e.clientY - this._element[0].clientHeight / 2}px)`);
}
@autobind
onDragStart({clientX,clientY}){
this.initY=clientY;
如果(这一点)返回;
document.addEventListener('mousemove',this.dragListener=(e)=>{
e、 预防默认值();
if(Math.max(Math.abs(e.clientX-clientX),Math.abs(e.clientY-clientY))>3){
document.removeEventListener('mousemove',this.dragListener);
document.addEventListener('mousemove',this.onDrag);
this.dragListener=this.onDrag;
this.fileService.dragSource=this.file;
//在Angular可以设置正确的类之前,需要调用onDrag
this.\u element.toggleClass('draging',this.isdraging);
this._element.toggleClass('bulk-draging',this.inBulkDragOp);
本条第(e)款;
本文件为onDrag(e);
this.drag.emit();
此._scope.$applyAsync();
}
});
}
@自动绑定
昂德拉格(e){
log(“拖动…”);
控制台日志(e);
var currentY=e.clientY;
var range=100;//滚动开始前的100px范围…如果响应太快,可能需要调整
如果(当前Y>this.initY+范围){
console.log(“向下滚动”);
滚动到(0500);
}else if(当前Y
我将容器标签设置为100%的高度,这似乎破坏了滚动条的功能。移除它修复了问题