Vue实现类似Spring官网图片滑动效果方法


Posted in Javascript onMarch 01, 2019

先来看一下Spring官网首页的一个图片滑动显示效果

Vue实现类似Spring官网图片滑动效果方法

可以看到, 随着鼠标的滑动,绿色图片和灰色图片可以无缝的在鼠标俩两边切换显示。

显示这样的效果其实很简单,利用固定定位保证两张图片在同一位置下, 我们可以将灰色图片当做背景层图片,然后根据获取到的实时X轴坐标, 动态改变绿色图片的宽度, 隐藏超出X轴坐标的部分, 就可以达到这样的效果, 简单来说, 这效果就是动态改变上层图片的宽度。

实现效果:

Vue实现类似Spring官网图片滑动效果方法

我这边选择了两张同样大小的KDA卡莎的图片, 将金色图作为背景图,暗黑图作为左侧图, 用了Vue的mousemove来获取X轴坐标值, 并通过监听坐标轴变化来实时改变左侧图片的宽度。

鼠标部分, 简化了Spring官网上鼠标位置出轴承的显示, 采用了cursor: ew-resize样式, 使得鼠标看起来可以左右滑动。

代码粘贴

<template>
  <div class="scroll">
    <div class="container" @mousemove="mousemove">
      <div class="base"></div>
      <div class="left" ref="left">
        <img src="../../static/image/kda-karsa.jpg" alt="">
      </div>
    </div>
  </div>
</template>
<script>
export default {
  data() {
    return {
      posX: 0
    }
  },
  methods: {
    mousemove(e) {
      // 获取x 坐标
      this.posX = e.offsetX 
    }
  },
  watch: {
    posX(curX) {
      this.$refs.left.style.width = `${curX}px`
    }  
  }
}
</script>
<style lang="scss" scoped>
.scroll{
  .container{
    width: 960px;
    height: 540px;
    background-color: #cccccc;
    position: relative;
    cursor: ew-resize;
    .base{
      position: absolute;
      width: 960px;
      height: 540px;
      top: 0;
      left: 0;
      background: url('../../static/image/kda-karsa-golden.jpg') no-repeat;
      background-size: 100%;
    }
    .left{
      position: absolute;
      width: 480px;
      height: 540px;
      overflow: hidden;
      top: 0;
      left: 0;
      img{
       width: 960px;
       height: 540px; 
      }
    }
  }
}
</style>

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

Javascript 相关文章推荐
JavaScript中OnLoad几种使用方法
Dec 15 Javascript
JQuery对id中含有特殊字符的转义处理示例
Sep 06 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
Feb 21 Javascript
jQuery插件Validate实现自定义校验结果样式
Jan 18 Javascript
vue.js移动端app实战1:初始配置详解
Jul 24 Javascript
AngularJS实现的锚点楼层跳转功能示例
Jan 02 Javascript
Vue表单类的父子组件数据传递示例
May 03 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
Jul 26 Javascript
关于layui的动态图标不显示的解决方法
Sep 04 Javascript
js实现简单的日历显示效果函数示例
Nov 25 Javascript
JS实现小星星特效
Dec 24 Javascript
JS pushlet XMLAdapter适配器用法案例解析
Oct 16 Javascript
[原创]微信小程序获取网络类型的方法示例
Mar 01 #Javascript
使用JavaScript解析URL的方法示例
Mar 01 #Javascript
可能被忽略的一些JavaScript数组方法细节
Feb 28 #Javascript
Vue插件从封装到发布的完整步骤记录
Feb 28 #Javascript
Javascript删除数组里的某个元素
Feb 28 #Javascript
vue强制刷新组件的方法示例
Feb 28 #Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
Feb 28 #Javascript
You might like
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
2011/02/08 PHP
php.ini 配置文件的深入解析
2013/06/17 PHP
PHP统一页面编码避免乱码问题
2015/04/09 PHP
php无限级分类实现评论及回复功能
2019/02/18 PHP
Javascript &amp; DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
2007/06/02 Javascript
33种Javascript 表格排序控件收集
2009/12/03 Javascript
jquery常用技巧及常用方法列表集合
2011/04/06 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
2016/03/08 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
2016/09/27 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
基于JavaScript实现移动端无限加载分页
2017/03/27 Javascript
js前端实现图片懒加载(lazyload)的两种方式
2017/04/24 Javascript
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
2018/05/16 Javascript
webpack 代码分离优化快速指北
2019/05/18 Javascript
js事件触发操作实例分析
2019/06/21 Javascript
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
python基于右递归解决八皇后问题的方法
2015/05/25 Python
python实现kMeans算法
2017/12/21 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
Django中间件基础用法详解
2019/07/18 Python
python BlockingScheduler定时任务及其他方式的实现
2019/09/19 Python
opencv调整图像亮度对比度的示例代码
2019/09/27 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
Python开发之pip安装及使用方法详解
2020/02/21 Python
python画图常规设置方式
2020/03/05 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
财务人员个人求职信范文
2013/12/04 职场文书
学历公证委托书
2014/04/09 职场文书
创业融资计划书
2014/04/25 职场文书
学生检讨书如何写
2014/10/30 职场文书
2014年人力资源部工作总结
2014/11/19 职场文书
先进班集体事迹材料
2014/12/25 职场文书
公司员工体检通知
2015/04/21 职场文书
Golang获取List列表元素的四种方式
2022/04/20 Golang