vue组件开发之slider组件使用详解


Posted in Javascript onAugust 21, 2020

本文实例为大家分享了vue组件开发之slider组件的具体使用代码,供大家参考,具体内容如下

vue组件开发之slider组件使用详解

代码如下:

<template>
  <div class="slider">
    <div class="wrapbox">
      <div class="item" v-for="(item, index) in items" style="">{{item.title}}</div>
    </div>
    <div class="status">
      <span v-for="(item, index) in items" v-bind:class="index == count ? 'active' : '' "></span>
    </div>
    <div class="prev-btn btn" @click="prev()"><</div>
    <div class="next-btn btn" @click="next()">></div>
  </div>
</template>
<script>
  export default {
    name: 'slider',
    data (){
      return {
        count: 0,
        items:[{
          name:"1",
          id:1,
          title:"我是图1的内容"
        },{
          name:"2",
          id:2,
          title:"我是图2的内容"
        },{
          name:"3",
          id:3,
          title:"我是图3的内容"
        },{
          name:"4",
          id:4,
          title:"我是图4的内容"
        }]
      }
    },
    components: { },
    methods: {
      prev () {
        console.log(this.count);
        if(this.count > 0){
          this.count--;
          document.querySelector(".wrapbox").style.webkitTransform = "translateX(-" + (this.count * 400) + "px)"; 
        }else{
          this.count = 0;
        }
      },
      next () {
        console.log(this.count);
        if(this.count < 3){
          this.count++;
          document.querySelector(".wrapbox").style.webkitTransform = "translateX(-" + (this.count * 400) + "px)"; 
        }else{
          this.count = 3;
        }

      }
    },
    created () {

    }
  }
</script>
<style scoped>
  *{margin:0 auto;padding:0;font-family:"微软雅黑";}

  .slider{
    position:relative;
    height:200px;
    width:400px;
    margin:50px auto;
    overflow:hidden;
  }
  .slider .wrapbox{
    width:1600px;
    height:200px;
    transition:all 1.5s;
  }
  .slider .status{
    position:absolute;
    top:170px;
    height:20px;
    width:400px;
    text-align:center;
  }
  .slider .status span{
    display:inline-block;
    height:20px;
    width:20px;
    margin:0 10px;
    background:#eee;
    border-radius:10px;
  }
  .slider .status span.active{
    background:#352929;
  }
  .slider .wrapbox .item{
    float:left;
    height:200px;
    width:400px;
    line-height:200px;
    text-align:Center;
    color:#fff;
    font-size:25px;
    background:red;
  }
  .slider .wrapbox .item:nth-of-type(2){
    background:blue;
  }
  .slider .wrapbox .item:nth-of-type(3){
    background:yellow;
  }
  .slider .wrapbox .item:nth-of-type(4){
    background:green;
  }
  .slider .btn{
    position:absolute;
    top:50%;
    height:40px;
    width:20px;
    line-height:40px;
    color:#fff;
    text-align:center;
    background:rgba(10, 10, 10, .85);
    transform:translateY(-50%);
    cursor:pointer;
  }
  .slider .next-btn{
    right:0;
  }
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js右键菜单效果代码
Jul 21 Javascript
推荐20家国外的脚本下载网站
Apr 28 Javascript
javascript读写XML实现广告轮换(兼容IE、FF)
Aug 09 Javascript
js左右弹性滚动对联广告代码分享
Feb 19 Javascript
jQuery移除tr无效的解决方法(tr是动态添加)
Sep 22 Javascript
jquery实现触发时更新下拉列表内容的方法
Dec 02 Javascript
javascript创建对象的几种模式介绍
May 06 Javascript
基于JavaScript实现自动更新倒计时效果
Dec 19 Javascript
解决vue打包项目后刷新404的问题
Mar 06 Javascript
vue如何将v-for中的表格导出来
May 07 Javascript
详解JSON Web Token 入门教程
Jul 30 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
Apr 16 Javascript
Vue左滑组件slider使用详解
Aug 21 #Javascript
vue实现移动端触屏拖拽功能
Aug 21 #Javascript
vue实现移动端拖动排序
Aug 21 #Javascript
微信小程序实现聊天室
Aug 21 #Javascript
vue实现折线图 可按时间查询
Aug 21 #Javascript
Vue按时间段查询数据组件使用详解
Aug 21 #Javascript
js绘制一条直线并旋转45度
Aug 21 #Javascript
You might like
ajax+php控制所有后台函数调用
2015/07/15 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
浅谈php的TS和NTS的区别
2019/03/13 PHP
jQuery队列操作方法实例
2014/06/11 Javascript
JS动态改变表格边框宽度的方法
2015/03/31 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
Angular2使用vscode断点调试ts文件的方法
2017/12/13 Javascript
Vue中props的使用详解
2018/06/15 Javascript
AngularJS上传文件的示例代码
2018/11/10 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
Angular单元测试之事件触发的实现
2020/01/20 Javascript
封装Vue Element的table表格组件的示例详解
2020/08/19 Javascript
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
[36:02]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第一局
2016/02/28 DOTA
[46:44]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第二场 3月7日
2021/03/11 DOTA
打印出python 当前全局变量和入口参数的所有属性
2009/07/01 Python
python实现定制交互式命令行的方法
2014/07/03 Python
python中List的sort方法指南
2014/09/01 Python
python数组过滤实现方法
2015/07/27 Python
Python 列表排序方法reverse、sort、sorted详解
2016/01/22 Python
Python 关于反射和类的特殊成员方法
2017/09/14 Python
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
Python3 A*寻路算法实现方式
2019/12/24 Python
使用python实现飞机大战游戏
2020/03/23 Python
浅谈Keras的Sequential与PyTorch的Sequential的区别
2020/06/17 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
adidas官方旗舰店:德国运动用品制造商
2017/11/25 全球购物
自主招生自荐信
2013/12/08 职场文书
感恩节寄语2015
2015/03/24 职场文书
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电
分享Python异步爬取知乎热榜
2022/04/12 Python