Vue练习三十:04_03_自动改变方向播放_幻灯片效果

Demo 在线地址:
https://sx00xs.github.io/test/30/index.html
---------------------------------------------------------------
ide: vscode
文件格式:.vue
解析:(待补)

<template>
    <div class="box" @mouseover="handleBoxOver" @mouseout="handleBoxOut">
        <transition-group tag="ul" name="fade"

        >
            <li v-for="pic in pics" :key="pic.src" :class="{current:pic.isActive}" data-index="pic.count">
                <img :src="pic.src" v-if="pic.isActive" width="490" height="170">
            </li>
        </transition-group>
        <ul class="count">
            <li v-for="item in pics" :key="item.count" :class="{current:item.isActive}"
            @mouseover="handleCountOver(item.count)"
            >
                {{item.count+1}}
            </li>
        </ul>
    </div>
</template>
<script>
import { setInterval, clearInterval } from ‘timers‘;
export default {
    name:‘Navs‘,
    data(){
        return{
            index:0,
            timer:null,
            play:null,
            bOrder:true,
        pics:[
            {
                src:require(‘../assets/lesson4/01.jpg‘),
                isActive:true,
                count:0
            },
            {
                src:require(‘../assets/lesson4/02.jpg‘),
                isActive:false,
                count:1
            },
            {
                src:require(‘../assets/lesson4/03.jpg‘),
                isActive:false,
                count:2
            },
            {
                src:require(‘../assets/lesson4/04.jpg‘),
                isActive:false,
                count:3
            },
            {
                src:require(‘../assets/lesson4/05.jpg‘),
                isActive:false,
                count:4
            },

        ]
        }
    },
    methods:{
        handleBoxOver(){
            clearInterval(this.play);
        },
        handleBoxOut(){
            this.auotPlay()
        },
        auotPlay(){
            var _this=this;
            this.play=setInterval(function(){
                _this.bOrder ? _this.index++ : _this.index--;

                _this.index >= _this.pics.length && (_this.index= _this.pics.length-2, _this.bOrder=false);

                _this.index <=0 && (_this.index=0, _this.bOrder=true);
                _this.show(_this.index)
            },2000)
        },
        show(count){

            this.index=count;
            for(var i=0;i<this.pics.length;i++) this.pics[i].isActive=false;
            this.pics[this.index].isActive=true;
        },
        handleCountOver(count){
            this.show(count)
        },
        enter(el,done){

        },
        leave(el,done){

        }
    },
    created(){
        this.auotPlay();
    }
}
</script>

原文地址:https://www.cnblogs.com/sx00xs/p/11266161.html

时间: 2024-10-11 16:33:55

Vue练习三十:04_03_自动改变方向播放_幻灯片效果的相关文章

Vue练习二十九:04_02_自动播放_幻灯片效果

Demo 在线地址:https://sx00xs.github.io/test/29/index.html---------------------------------------------------------------ide: vscode文件格式:.vue ps:淡入淡出效果未实现,需修改解析: 需求: 5张图片,每隔2秒自动切换为下一张 鼠标移入,图片静止 鼠标移出,图片恢复定时切换 鼠标移到按钮,图片切换为按钮对应图片 图片切换时显示效果为淡入淡出 写一个辅助函数,接受一个参

setTimeout应用 &amp;&amp; 自动播放——幻灯片效果&amp;&amp; 自动改变方向——幻灯片效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

Android第三十一期 - 市面上所有引导页的效果

代码已经整理好,有十几种,自己选择用吧,效果如下: 地址:

猫猫学IOS(四十)UI之核心动画_抖动效果_CAKeyframeAnimation

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 效果: 效果一: 效果二: 代码: // // NYViewController.m // 图片抖动 // // Created by apple on 15-5-8. // Copyright (c) 2015年 znycat. All rights reserved. // #import "NYViewControlle

Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自动填入功能结合实例)

用户注册或者找回密码时一般会用到短信验证功能,这里我们使用第三方的短信平台进行验证实例. 我们用到第三方短信验证平台是Mob,地址为:http://mob.com/ 一.注册用户.获取SDK 大家可以自行注册,得到APPKEY和APPSECRET,然后下载SDK,包的导入方式如截图: 二.主要代码 SMSSendForRegisterActivity.java:(获取验证码页) package com.qiandaobao.activity; import java.util.regex.Mat

Django框架(三十)—— 使用Vue搭建前台

目录 vue的使用 一.创建vue项目 二.pycharm开发vue项目 1.安装vue.js插件 2.运行vue项目 三.vue项目的目录结构 四.vue的使用 1.创建新的组件 2.显示数据 3.方法的绑定 五.axios 1.安装axios 2.使用axios vue的使用 一.创建vue项目 参考另一篇随笔:https://www.cnblogs.com/linagcheng/p/9883014.html 1.安装node.js 2.vue脚手架 3.vue create 项目名字 二.

NeHe OpenGL教程 第三十六课:从渲染到纹理

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第三十六课:从渲染到纹理 放射模糊和渲染到纹理: 如何实现放射状的滤镜效果呢,看上去很难,其实很简单.把渲染得图像作为纹理提取出来,在利用OpenGL本身自带的纹理过滤,就能实现这种效果,不信,你试试. 嗨,我是Dario Corn

三十项调整助力 Ubuntu 13.04 更上一层楼

在Ubuntu 13.04 Raring Ringtail安装完成之后,我们还有三十项调整需要进行. 1.Ubuntu 13.04 Raring Ringtail安装完毕后,我又进行了一系列工作 大家想知道Ubutnu最新版本带来哪些新内容吗?我认为其中引发讨论最多的话题在于,与前代版本相比(即12.10'Quantal Quetzal')新系统的性能表现并不理想.它不仅延迟明显,而且存在严重的稳定性问题.Raring Ringtail也并不在黄油计划的适用范围之内.但无论如何,Ubuntu 1

转载自知乎:程序员干到三十就干不动了」的说法是从哪来的?

http://www.zhihu.com/question/28432389 这类谣传很难追根溯源的. 最早大概来自8x-9x年代的第一代程序员. 这时候多半是一种自嘲. 那时改革开放没多久,国内IT业刚刚起步,教材.经典书籍什么的……还是别想太多了.当时很多基础性的东西甚至是靠类似反编译之类手段逆向出来的.从现象反推原因,自然错漏极多(比如谭浩强著名的i=i+i++错误,就属于这类问题),而且琐碎.不成体系. 比如,国内的编译原理教材,忘了是清华出的还是同济的,甚至连为什么需要终结符.终结符是