Javascript 使用角度7滚动水平活动项
我需要第一个活动项处于活动状态,当向左滚动时,您将激活下一个项目,并且当您返回时,您必须正确返回。始终将选定项目的框居中。 TksJavascript 使用角度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
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);
}
});