Skip to content
vertica-lamp.ts 890 B
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Directive, ElementRef} from '@angular/core';

@Directive({
  selector: '[vertica-lamp]' // Attribute selector
})
export class VerticaLampDirective {

  constructor(public el:ElementRef) {
    this.lineChange();
  }

  //跑马灯
  lineChange() {
    let child_div = this.el.nativeElement.children;
wangqinghua's avatar
wangqinghua committed
    setTimeout(()=>{
wangqinghua's avatar
wangqinghua committed
      console.log(child_div[0].offsetWidth)
      if(child_div.length > 0 && child_div[0].offsetWidth > 700 ){
wangqinghua's avatar
wangqinghua committed
        // this.start();
wangqinghua's avatar
wangqinghua committed
      }
wangqinghua's avatar
wangqinghua committed
    },1000)
wangqinghua's avatar
wangqinghua committed
  }

wangqinghua's avatar
wangqinghua committed
  //横向跑马灯
  start() {
    let child_div = this.el.nativeElement.children;
    const scrollWidth = this.el.nativeElement.offsetWidth;
    const textWidth = child_div[0].offsetWidth;
    console.log(child_div[0]);


    let i = scrollWidth;
    setInterval(()=>{
      i--;
      if(i < -textWidth){
        i = scrollWidth;
      }
      child_div[0].style.left = i + 'px';
    },20)
  }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed

}