摘要:輪播有的功能應(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é)流處理代碼
carousel works!
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
摘要:項(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...
摘要:一直以來(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ì)于我一...
摘要:一直以來(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ì)于我一...
閱讀 2575·2021-11-22 09:34
閱讀 3552·2021-11-15 11:37
閱讀 2355·2021-09-13 10:37
閱讀 2116·2021-09-04 16:40
閱讀 1596·2021-09-02 15:40
閱讀 2467·2019-08-30 13:14
閱讀 3337·2019-08-29 13:42
閱讀 1914·2019-08-29 13:02