先來看一下Spring官網首頁的一個圖片滑動顯示效果
css
能夠看到, 隨着鼠標的滑動,綠色圖片和灰色圖片能夠無縫的在鼠標倆兩邊切換顯示。this
顯示這樣的效果其實很簡單,利用固定定位保證兩張圖片在同一位置下, 咱們能夠將灰色圖片當作背景層圖片,而後根據獲取到的實時X軸座標, 動態改變綠色圖片的寬度, 隱藏超出X軸座標的部分, 就能夠達到這樣的效果, 簡單來講, 這效果就是動態改變上層圖片的寬度。url
實現效果:
spa
我這邊選擇了兩張一樣大小的KDA卡莎的圖片, 將金色圖做爲背景圖,暗黑圖做爲左側圖, 用了Vue的mousemove來獲取X軸座標值, 並經過監聽座標軸變化來實時改變左側圖片的寬度。 code
鼠標部分, 簡化了Spring官網上鼠標位置出軸承的顯示, 採用了cursor: ew-resize樣式, 使得鼠標看起來能夠左右滑動。blog
代碼粘貼圖片
<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>