Vue實現(xiàn)類似Spring官網(wǎng)圖片滑動效果方法
先來看一下Spring官網(wǎng)首頁的一個圖片滑動顯示效果
可以看到, 隨著鼠標的滑動,綠色圖片和灰色圖片可以無縫的在鼠標倆兩邊切換顯示。
顯示這樣的效果其實很簡單,利用固定定位保證兩張圖片在同一位置下, 我們可以將灰色圖片當做背景層圖片,然后根據(jù)獲取到的實時X軸坐標, 動態(tài)改變綠色圖片的寬度, 隱藏超出X軸坐標的部分, 就可以達到這樣的效果, 簡單來說, 這效果就是動態(tài)改變上層圖片的寬度。
實現(xiàn)效果:
我這邊選擇了兩張同樣大小的KDA卡莎的圖片, 將金色圖作為背景圖,暗黑圖作為左側(cè)圖, 用了Vue的mousemove來獲取X軸坐標值, 并通過監(jiān)聽坐標軸變化來實時改變左側(cè)圖片的寬度。
鼠標部分, 簡化了Spring官網(wǎng)上鼠標位置出軸承的顯示, 采用了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>
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
vue中nextTick函數(shù)和react類似實現(xiàn)代碼
Vue 3 中的 nextTick 主要通過 Promise 實現(xiàn)異步調(diào)度,返回一個 Promise 對象,這篇文章主要介紹了vue中nextTick函數(shù)和react類似實現(xiàn)代碼,需要的朋友可以參考下2024-04-04vue實現(xiàn)點擊導航欄滾動頁面到指定位置的功能(推薦)
這篇文章主要介紹了vue實現(xiàn)點擊導航欄滾動頁面到指定位置的功能(推薦),步驟一是是通過獲取不同板塊的滾輪高度,步驟二通過編寫執(zhí)行滾動操作的函數(shù),結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2023-11-11vue 導航守衛(wèi)和axios攔截器有哪些區(qū)別
這篇文章主要介紹了vue 導航守衛(wèi)和axios攔截器有哪些區(qū)別,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下2020-12-12