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 相关文章推荐
javascript 有趣而诡异的数组
Apr 06 Javascript
Javascript中的相等与不等运算
Apr 25 Javascript
jquery实现界面无刷新加载登陆注册
Jul 30 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
Jan 27 Javascript
详细分析jsonp的原理和实现方式
Nov 20 Javascript
vue2.0 axios跨域并渲染的问题解决方法
Mar 08 Javascript
详解微信小程序实现WebSocket心跳重连
Jul 31 Javascript
详解element-ui日期时间选择器的日期格式化问题
Apr 08 Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
Sep 04 Javascript
微信小程序跨页面数据传递事件响应实现过程解析
Dec 19 Javascript
Vue性能优化的方法
Jul 30 Javascript
Vue Object.defineProperty及ProxyVue实现双向数据绑定
Sep 02 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
PHP开发中的错误收集,不定期更新。
2011/02/03 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
javascript IE中的DOM ready应用技巧
2008/07/23 Javascript
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
Javascript高级技巧分享
2014/02/25 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
javascript实现英文首字母大写
2015/04/23 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
使用JavaScript实现弹出层效果的简单实例
2016/05/31 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
2017/03/09 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
2017/12/15 Javascript
JS实现关键词高亮显示正则匹配
2018/06/22 Javascript
Vue中的情侣属性$dispatch和$broadcast详解
2019/03/07 Javascript
在JavaScript中如何访问暂未存在的嵌套对象
2019/06/18 Javascript
python和pyqt实现360的CLable控件
2014/02/21 Python
python通过加号运算符操作列表的方法
2015/07/28 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
2019/03/01 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
python3 求约数的实例
2019/12/05 Python
TensorFlow绘制loss/accuracy曲线的实例
2020/01/21 Python
解决jupyter notebook 出现In[*]的问题
2020/04/13 Python
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
生产内勤岗位职责
2013/12/07 职场文书
护士自我评价
2014/02/01 职场文书
小学班级口号
2014/06/09 职场文书
群众路线个人对照检查材料2014
2014/09/26 职场文书
2014年流动人口工作总结
2014/11/26 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
2016廉洁从业学习心得体会
2016/01/19 职场文书
Go语言并发编程 sync.Once
2021/10/16 Golang
Java 异步任务计算FutureTask
2022/04/28 Java/Android