zoukankan      html  css  js  c++  java
  • vue组件中的轮播实现

    一、直接上代码

    <template>
    <el-row class="Slide">
    	<el-row class="title">{{i18n[$lang].title}}</el-row>
    	<el-row class="sub-title">{{i18n[$lang].subTitle}}!</el-row>
    	<el-row class="slide-content" @mouseenter.native="onStop" @mouseleave.native="onStart">
    		<img class="content-img" :src="`${$url.aliyun}${contents[selected-1].img}`" :alt="contents[selected-1].content.title">
    		<el-col class="content">
    			<el-row class="content-title">{{contents[selected-1].content.title | capitalize(true)}}<span>-{{contents[selected-1].name}}</span></el-row>
    			<el-row class="content-article">{{contents[selected-1].content.article}}</el-row>
    			<router-link class="router" :to="`/${$route.meta.lang}/login`">{{$t("common.readMore") | upperCase}}</router-link>
    		</el-col>
    	</el-row>
    	<el-row class="slide-controll">
    		<button v-for="(content,index) in contents" :class="{selected:selected===index+1}" @mouseenter="onSelect(index)" @mouseleave="onStart">{{content.name}}</button>
    	</el-row>
    </el-row>
    </template>
    
    <script>
    	export default {
    		data() {
    			return {
    				i18n: {
    					en: {
    						title: 'Functional Introduction',
    						subTitle: 'GIPC, GIIC, GIRC help you to complete your investment quickly'
    					},
    					cn: {
    						title: '功能介绍',
    						subTitle: 'GIPC, GIIC, GIRC助您快速完成您的投资'
    					}
    				},
    				contents: [{
    					name: 'GIPC',
    					img: '/static/img/home/GIPC.png',
    					content: {
    						title: 'global investment project cloud',
    						article: 'Global SME CEOs are major users. 100% Projects have been reviewed by PNC. At the same time, CEOs can upload their own projects automatically to the platform. Global financing and markets are their focus'
    					}
    				}, {
    					name: 'GIIC',
    					img: '/static/img/home/GIIC.png',
    					content: {
    						title: 'global investment investor cloud',
    						article: 'The investor pool consists mainly of Chinese investors. Introductions on the ability, background, current situation and development of investors are made to ensure that users can find the fittest investors in the shortest period of time'
    					}
    				}, {
    					name: 'GIRC',
    					img: '/static/img/home/GIRC.png',
    					content: {
    						title: 'global investment report cloud',
    						article: 'Providing you with Macro Industry Analysis, Case Analysis, and Corporate Valuation Reports Exclusive Customized Report across the globes'
    					}
    				}],
    				selected: 1,
    				timer: null,
    				speed: 5000
    			};
    		},
    		mounted() {
    			this.onStart();
    		},
    		methods: {
    			onNext() {
    				this.selected = this.selected >= this.contents.length ? 1 : this.selected + 1;
    			},
    			onStart() {
    				this.timer = this.contents.length > 1 ? setInterval(this.onNext, this.speed) : null;
    			},
    			onStop() {
    				clearInterval(this.timer);
    			},
    			onSelect(index) {
    				this.onStop();
    				this.selected = index + 1;
    			}
    		},
    		beforeDestroy() {
    			this.onStop();
    		}
    	};
    
    
    

      注意:

    1. mouseenter: 在鼠标光标从元素外部首次移动到元素范围之内时触发。这个事件不冒泡,而且在光标移动到元素的后代元素上不会触发。
    2. mouseleave: 在鼠标光标从元素内部首次移动到元素范围之外时触发。这个事件不冒泡,而且在光标移动到元素的后代元素上不会触发。
    3. mouseover   :  在鼠标指针位于一个元素外部,然后用户将其首次移入该元素内部时触发。(外部包括元素的子元素,元素的父元素,元素的相邻元素等)
    4. mouseout   :  在鼠标指针位于一个元素内部,然后用户将其首次移至外部时触发。(外部包括元素的子元素,元素的父元素,元素的相邻元素等)
    5. setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

      setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

      提示: 1000 毫秒= 1 秒。

      提示: 如果你只想执行一次可以使用 setTimeout() 方法。http://www.runoob.com/jsref/met-win-setinterval.html

  • 相关阅读:
    eclipse快捷键失效
    git学习 branch log rebase merge fetch remote add push pull
    解决netty tcp自定义消息格式粘包/拆包问题
    多线程while(!state){}有问题,volatile优化,sleep睡着之后唤醒,刷新变量缓存
    玄学eclipse ,突然所有文件报错,然后,ctrl+a, ctrl+x, ctrl+v就好了
    玄学springboot applicationcontext.getBean(用类名String还是类型Class), getBean(..)的调用场景结果不同?getBean(..)还会阻塞?@DependsOn按照名称依赖,那么getBean用类名String
    玄学yml,被@ActiveProfiles注解误导
    玄学yml,被@ActiveProfiles注解误导
    java动态代理,多服务实例,线程安全target,注解,面向切面修改具有注解的方法行为,ThreadLocal<Object>
    java键盘输入方法-
  • 原文地址:https://www.cnblogs.com/zhangningyang/p/9405990.html
Copyright © 2011-2022 走看看