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 相关文章推荐
jquery下将选择的checkbox的id组成字符串的方法
Nov 28 Javascript
JQuery通过Ajax提交表单并返回结果
Jul 31 Javascript
jQuery中noconflict函数的实现原理分解
Feb 03 Javascript
jquery实现适用于门户站的导航下拉菜单效果代码
Aug 24 Javascript
基于JS代码实现导航条弹出式悬浮菜单
Jun 17 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
Apr 17 jQuery
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
Sep 10 Javascript
JavaScript类数组对象转换为数组对象的方法实例分析
Jul 24 Javascript
通过vue-cli3构建一个SSR应用程序的方法
Sep 13 Javascript
基于vue和bootstrap实现简单留言板功能
May 30 Javascript
JavaScript中展开运算符及应用的实例代码
Jan 14 Javascript
vue @ ~ 相对路径 路径别名设置方式
Jun 05 Vue.js
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
PHP 函数学习简单小结
2010/07/08 PHP
thinkphp实现like模糊查询实例
2014/10/29 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
2015/12/30 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
jquery中获取元素的几种方式小结
2011/07/05 Javascript
DOM节点的替换或修改函数replaceChild()用法实例
2015/01/12 Javascript
JS实现支持Ajax验证的表单插件
2016/03/24 Javascript
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
2016/04/29 Javascript
基于JavaScript Array数组方法(新手必看篇)
2016/08/20 Javascript
jQuery给指定的table动态添加删除行的操作方法
2016/10/12 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
Angular4学习教程之HTML属性绑定的方法
2018/01/04 Javascript
原生js实现可兼容PC和移动端的拖动滑块功能详解【测试可用】
2019/08/15 Javascript
解决$store.getters调用不执行的问题
2019/11/08 Javascript
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
[48:47]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python连接SQLServer2000的方法详解
2017/04/19 Python
python 第三方库的安装及pip的使用详解
2017/05/11 Python
Python实现读取txt文件并画三维图简单代码示例
2017/12/09 Python
python 使用sys.stdin和fileinput读入标准输入的方法
2018/10/17 Python
python使用pandas处理大数据节省内存技巧(推荐)
2019/05/05 Python
Python 实现遥感影像波段组合的示例代码
2019/08/04 Python
在python下实现word2vec词向量训练与加载实例
2020/06/09 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
详解HTML5如何使用可选样式表为网站或应用添加黑暗模式
2020/04/07 HTML / CSS
德国著名廉价网上药店:Shop-Apotheke
2017/07/23 全球购物
在线购买世界上最好的酒:BoozeBud
2018/06/07 全球购物
北美女性服装零售连锁店:maurices
2019/06/12 全球购物
党校自我鉴定范文
2013/10/02 职场文书
信电学院毕业生自荐书
2014/05/24 职场文书
2015年高校教师个人工作总结
2015/05/25 职场文书
工作收入证明模板
2015/06/12 职场文书
php 解析非标准json、非规范json
2021/04/01 PHP
用Python爬取英雄联盟的皮肤详细示例
2021/12/06 Python