成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

功能齊全的輪播---基于angular7

longshengwang / 1639人閱讀

摘要:輪播有的功能應(yīng)該都有及以上的版本應(yīng)該都可以動(dòng)畫效果用的是自帶的沒(méi)有做進(jìn)一步的處理專注于做過(guò)測(cè)試應(yīng)該沒(méi)有功能圖片自動(dòng)輪播每張圖片對(duì)應(yīng)下面的小圓圈紅色代表當(dāng)前選中圖片前進(jìn)和后退按鈕做了節(jié)流處理代碼

輪播有的功能,應(yīng)該都有
angular2及以上的版本應(yīng)該都可以
動(dòng)畫效果用的是angular自帶的animations
css沒(méi)有做進(jìn)一步的處理,專注于js
做過(guò)測(cè)試應(yīng)該沒(méi)有bug
功能 1.圖片自動(dòng)輪播 2.每張圖片對(duì)應(yīng)下面的小圓圈,紅色代表當(dāng)前選中圖片 3.前進(jìn)和后退按鈕做了節(jié)流處理 代碼 html

carousel works!

js
import { Component, OnInit } from "@angular/core";
import {trigger,style,transition,query,animate,group} from "@angular/animations"
@Component({
  selector: "app-carousel",
  templateUrl: "./carousel.component.html",
  styleUrls: ["./carousel.component.css"],
    animations:[
      trigger("carousel",[
          transition(":increment",[
              group([
                  query(":enter",[
                        style({transform:"translateX(-100%)"}),
                        animate("1s")
                    ]),
                    query(":leave",[
                        animate("1s",style({transform:"translateX(100%)"}))
                    ])
                ]) 
            ]),
            transition(":decrement",[
              group([
                  query(":enter",[
                        style({transform:"translateX(100%)"}),
                        animate("1s")
                    ]),
                    query(":leave",[
                        animate("1s",style({transform:"translateX(-100%)"}))
                    ])
                ]) 
            ]),
        ])
    ]
})
export class CarouselComponent implements OnInit {
  url:string="../../../assets/"
  imgs=[
      {id:1,name:"1.jpg",state:true},
        {id:2,name:"2.jpg",state:false},
        {id:3,name:"3.jpg",state:false}
    ]
    state=0;
    id:number;
    i=0;
    switch=true
    execTime:number
  constructor() { }
  fn(){
      this.i++;
        if(this.i>this.imgs.length-1){
            this.i=0;
        }
      this.imgs.forEach(val=>{val.state=false})
        this.imgs[this.i].state=true;
        this.state+=0.1;
    }
  ngOnInit() {
    this.id=setInterval(this.fn.bind(this),3000) 
  }
  stop(){
      clearInterval(this.id)
    }
    start(){
      this.id=setInterval(this.fn.bind(this),3000) 
    }
    circleEnter(id){
      //console.log(id);
        this.i=id-1;
        this.imgs.forEach(val=>{val.state=false})
        this.imgs[id-1].state=true;
        //this.state+=0.1;
      this.stop();
    }
    circleLeave(){
      this.start();
    }
    go(){
      this.throttle(this.fn.bind(this),1500)
      //this.fn()
    }
    back(){
      let fn=function(){
          //console.log("exec fn");
          this.i--;
            if(this.i<0){
                this.i=this.imgs.length-1;
            }
            this.imgs.forEach(val=>{val.state=false})
            this.imgs[this.i].state=true;
            this.state-=0.1;
        }
      this.throttle(fn.bind(this),1500)
    }
    
  throttle(fn,interval){
        if(new Date().getTime()-this.execTime>interval){this.switch=true}
        console.log(this.switch);
      if(this.switch){
            fn();
            this.switch=false;
            this.execTime=new Date().getTime();
        }
        
    }
    
}
css
ul{
  position:relative;
  height:200px;
}
.imgP{
  position:absolute;
  list-style:none;
}
.circle{
  width:10px;
  height:10px;
  border-radius:50%;
  border:1px solid #000;
  float:left;
}
.color{
  background-color:red;
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/104629.html

相關(guān)文章

  • 基于vue實(shí)現(xiàn)swipe輪播組件

    摘要:項(xiàng)目背景圖片輪播是前端項(xiàng)目必有項(xiàng),當(dāng)前有很多效果很酷炫的輪播插件,例如。此處應(yīng)該有掌聲,哈哈簡(jiǎn)而言之,就是當(dāng)需要一個(gè)簡(jiǎn)單的輪播時(shí),可以選用,自己寫一個(gè)組件。舉個(gè)栗子,就是我實(shí)現(xiàn)的這個(gè)基于實(shí)現(xiàn)分頁(yè)組件,移動(dòng)端和端均適用哦。 項(xiàng)目背景 圖片輪播是前端項(xiàng)目必有項(xiàng),當(dāng)前有很多效果很酷炫的輪播插件,例如Swiper。但是當(dāng)項(xiàng)目中的圖片輪播只需要一個(gè)很簡(jiǎn)單的輪播樣式,比如這樣的showImg(ht...

    Enlightenment 評(píng)論0 收藏0
  • 一直以來(lái)都沒(méi)直視輪播

    摘要:一直以來(lái)做項(xiàng)目碰到輪播圖我都是去網(wǎng)站上找現(xiàn)成插件拿來(lái)用,現(xiàn)成的插件是省時(shí)間,拿來(lái)改改尺寸改改參數(shù)就能直接用,是現(xiàn)在的插件確實(shí)很強(qiáng)大,對(duì)于我一個(gè)剛剛學(xué)習(xí)前端的人來(lái)說(shuō),牛人寫的輪播我看懂也要花些功夫,更別說(shuō)在工作中寫出來(lái),估計(jì)寫出來(lái)以后,整個(gè)項(xiàng) 一直以來(lái)做項(xiàng)目碰到輪播圖我都是去網(wǎng)站上找現(xiàn)成插件拿來(lái)用,現(xiàn)成的插件1是省時(shí)間,拿來(lái)改改尺寸改改參數(shù) 就能直接用,2是現(xiàn)在的插件確實(shí)很強(qiáng)大,對(duì)于我一...

    wangzy2019 評(píng)論0 收藏0
  • 一直以來(lái)都沒(méi)直視輪播

    摘要:一直以來(lái)做項(xiàng)目碰到輪播圖我都是去網(wǎng)站上找現(xiàn)成插件拿來(lái)用,現(xiàn)成的插件是省時(shí)間,拿來(lái)改改尺寸改改參數(shù)就能直接用,是現(xiàn)在的插件確實(shí)很強(qiáng)大,對(duì)于我一個(gè)剛剛學(xué)習(xí)前端的人來(lái)說(shuō),牛人寫的輪播我看懂也要花些功夫,更別說(shuō)在工作中寫出來(lái),估計(jì)寫出來(lái)以后,整個(gè)項(xiàng) 一直以來(lái)做項(xiàng)目碰到輪播圖我都是去網(wǎng)站上找現(xiàn)成插件拿來(lái)用,現(xiàn)成的插件1是省時(shí)間,拿來(lái)改改尺寸改改參數(shù) 就能直接用,2是現(xiàn)在的插件確實(shí)很強(qiáng)大,對(duì)于我一...

    FuisonDesign 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<