Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.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 使用角度7滚动水平活动项_Javascript_Html_Angular_Frontend - Fatal编程技术网

Javascript 使用角度7滚动水平活动项

Javascript 使用角度7滚动水平活动项,javascript,html,angular,frontend,Javascript,Html,Angular,Frontend,我需要第一个活动项处于活动状态,当向左滚动时,您将激活下一个项目,并且当您返回时,您必须正确返回。始终将选定项目的框居中。 Tks onScroll(事件){ this.currentScroll=this.panel.nativeElement.scrollLeft; this.arrayScroll.push(this.panel.nativeElement.scrollLeft); 让count=this.arrayScroll.reduce((a,b)=>a+b,0); this.arr

我需要第一个活动项处于活动状态,当向左滚动时,您将激活下一个项目,并且当您返回时,您必须正确返回。始终将选定项目的框居中。 Tks

onScroll(事件){
this.currentScroll=this.panel.nativeElement.scrollLeft;
this.arrayScroll.push(this.panel.nativeElement.scrollLeft);
让count=this.arrayScroll.reduce((a,b)=>a+b,0);
this.arrayScroll.forEach((元素,索引)=>{
如果(this.arrayScroll[index]>=this.list[this.indexLabel].size/2){
if(this.arrayScroll[index]>=this.soma){
this.list.length>=this.indexLabel?(this.indexLabel+=1):(this.indexLabel=0);
this.soma=this.soma+this.list[this.indexLabel-1].size;
this.selectItem(this.indexLabel);
}
}else if(this.panel.nativeElement.scrollLeft=this.indexLabel?(this.indexLabel-=1):(this.indexLabel=0);
this.soma-=this.list[this.indexLabel].size;
this.selectItem(this.indexLabel);
}
});
}

代码:单击要激活的第一项

onScroll(event) {

this.currentScroll = this.panel.nativeElement.scrollLeft;

this.arrayScroll.push(this.panel.nativeElement.scrollLeft);

let count = this.arrayScroll.reduce((a, b) => a + b, 0);

this.arrayScroll.forEach((elem, index) => {
  if (this.arrayScroll[index] >= this.list[this.indexLabel].size / 2) {
    if (this.arrayScroll[index] >= this.soma) {
      this.list.length >= this.indexLabel ? (this.indexLabel += 1) : (this.indexLabel = 0);
      this.soma = this.soma + this.list[this.indexLabel - 1].size;

     this.selectItem(this.indexLabel);
    }
  } else if (this.panel.nativeElement.scrollLeft <= this.soma) {

    this.list.length >= this.indexLabel ? (this.indexLabel -= 1) : (this.indexLabel = 0);
    this.soma -= this.list[this.indexLabel].size;
      this.selectItem(this.indexLabel);
  }
});