vue中轮播图的实现

  • 轮播图

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
    </head>
    <body>
    
    <div id="app">
        <!--视图-->
        <img :src="images[currentIndex].imgSrc" alt="" @click="imgHandler">
        <br>
        <button @click="prevHandler">上一张</button>
        <button @click="nextHandler">下一张</button>
    </div>
    
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
    <script src='./vue.js'></script>
    <script>
        let vm = new Vue({   // 声明变量  实例化一个对象vm(指的是vue的实例)
            el:"#app",    //绑定根元素
            data(){
                return{
                    images:[  //数据
                        {id:1,imgSrc:"img/1.jpg"},
                        {id:2,imgSrc:"img/2.jpg"},
                        {id:3,imgSrc:"img/3.jpg"},
                        // {id:4,imgSrc:"img/4.jpg"},
                    ],
                    currentIndex:0 //一开始设置为 0
                }
            },
            methods:{// 对象内容是js函数
    
                nextHandler(e){
                    console.log(e);
                    this.currentIndex++;
                    //更改图片地址
                    if (this.currentIndex == 3){ //js的if判断语句
                        this.currentIndex = 0;
                    }
                },
    
                prevHandler(e) {
                    console.log(e);
                    this.currentIndex--;
                    //更改图片地址
                    if (this.currentIndex == 0) { //js的if判断语句
                        this.currentIndex = 3;
                    }
                },
    
                imgHandler(e){ //每一个事件都有一个event对象, 冒泡阻止默认事件学的
                    console.log(e.target);//当前目标对象 <img src="img/1.jpg" alt>
                    console.log(this); //实例化里面的对象this 指的都是当前实例化对象
                }
            },
    
            //create() 组件创建完成, 组件创建完成立马往后台发ajax
            // ajax vue的钩子函数
            // created(){
            //     // console.log(this); //就是当前的vm
            //     setInterval(function(){
            //         console.log(this);//this是window对象 但是想把this的指向改成vm 所以把匿名函数改成箭头函数
            //     },1000)
            // }
    
             created(){
                // this的指向问题 ************* 能用箭头函数不用匿名函数
                 //匿名函数改成箭头函数 this代指vue
                setInterval( ()=>{
                    console.log(this);//this是 vue 对象
                },1000)//自动循环播放图片 1秒播放一次
            }
        })
    
    </script>
    
    </body>
    </html>

原文地址:https://www.cnblogs.com/bigox/p/11630001.html

时间: 2024-08-03 15:42:07

vue中轮播图的实现的相关文章

element-ui中轮播图自适应图片高度

哈哈,久违了各位.我又回来了,最近在做毕设,所以难免会遇到很多问题,需要解决很多问题,在万能的博友帮助下,终于解决了Element-ui中轮播图的图片高度问题,话不多说上代码. 那个axios的使用不重要,大致思路就是页面渲染前拿到当前窗口的宽度*图片比例给轮播图一个初始的高度,当窗后大小发生变化时,监听事件里将轮播图高度重新赋值即可,再次感谢两位博友的帮助 <template> <div v-if="imgurl"> <el-carousel :heig

产品设计中轮播图的弊端以及6种替代方式

轮播图在UI设计中是个邪恶的存在,其实很多设计师和前端都这么认为. 那为什么我们还能到处看见轮播图? 一部分原因就在于我们很多人经常看到轮播图,所以把轮播图的存在习惯性地标准化了,可能会随口跟设计师们提建议. 但存在并非合理,单单"流行"这一个原因并不能支撑一个事物的合理性.身为设计师,也要习惯批判性地看问题. 来吐槽下轮播图的"名过其实" 阅读障碍:轮播图会自动翻页,这对那些阅读速度慢的人来说就是很大的障碍.你可能经常会遇到这种情况,还没看清一张图的信息它就翻过去

iOS中 轮播图放哪最合适? 技术分享

我们知道,轮播图放在cell或collectionViewCell上会影响用户层级交互事件,并且实现起来比较麻烦,现在推出一个技术点:答题思路是:将UIScrollView放在UIView或UICollectionView或者UITableView上,将UIScrollView的y设为需要的大小,加载在你的现有图层上,然后改变偏移量即可,具体如下: 效果如下: 代码如下: 以UICollectionView为例 //表头可以做轮播图 UIScrollView *scrollView = [[UI

vue项目轮播图的实现

利用   Vue-Awesome-Swiper插件来做轮播效果,github地址:https://github.com/surmon-china/vue-awesome-swiper 安装 npm install vue-awesome-swiper --save 页面中引用 import 'swiper/dist/css/swiper.css' import { swiper, swiperSlide } from 'vue-awesome-swiper' 代码如下: <template>

Android轮播图的实现

Android轮播图的实现 这几天看了<Android开发艺术探索>这本书真的是挺不错的,学了自定义View之后打算动手实践一个轮播图控件,网上有很多实现的方法,我最后实现起来跟他们也基本上都是大同小异,主要我也是为了练练动手能力.先来个效果图,图片是在百度搜的正经图片 分析 实现轮播图的方式大体上我看到了三种,一是使用安卓的Gallery控件来实现,二是使用HorizontalScrollView,三是使用ViewPager来实现,Gallery控件现在已经不推荐使用了,在源码中我们也看到了

第124天:移动web端-Bootstrap轮播图插件使用

Bootstrap JS插件使用 > 对于Bootstrap的JS插件,我们只需要将文档实例中的代码粘到我们自己的代码中> 然后作出相应的样式调整 Bootstrap中轮播图插件叫作Carousel 一.基本的轮播图实现 HTML代码 1 <!-- 2 以下容器就是整个轮播图组件的整体, 3 注意该盒子必须加上 class="carousel slide" data-ride="carousel" 表示当前是一个轮播图 4 bootstrap.js

axure 轮播图

axure设置轮播图详细流程,有问题欢迎指正,直接上流程,demo下载 :https://files.cnblogs.com/files/fannyLi/%E8%BD%AE%E6%92%AD%E5%9B%BE.rp.zip 1.打开axure新建一个页面,拖入动态面板 2.双击动态面板,弹出面板管理,填写动态面板名称:轮播图,点击绿色加号添加3个面板状态(个数根据需求而定) 3.双击动态面板中的轮播图一进入状态一,添加一张图片 4.动态面板中轮播图二.三同上,各添加一张图片 5.回到index页

3. vue中导入animate.css动画库、Swiper轮播图组件

1. vue中导入animate.css动画库 2. vue中使用Swiper轮播图插件 注意:swiper常用设置 原文地址:https://www.cnblogs.com/qfshini/p/12120612.html

横冲直撞vue(第四篇):v-model、指令系统总结、指令系统示例轮播图实现、指令系统示例跑马灯效果实现、在vue中使用样式的方式

一. v-model v-model 指令在表单 <input>.<textarea> 及 <select> 元素上创建双向数据绑定.它会根据控件类型自动选取正确的方法来更新元素. 尽管有些神奇,但v-model本质上不过是语法糖.它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理. v-model在内部为不同的输入元素使用不同的属性并抛出不同的事件: text 和 textarea 元素使用 value 属性和 input 事件: checkbox