小說APP原始碼,手動滑動輪播圖時,輪播圖跟隨移動
小說APP原始碼,手動滑動輪播圖時,輪播圖跟隨移動實現的相關程式碼
html結構
<template> <div @mouseleave="enterFn" @mouseenter="leaveFn"> <ul> <li class="carousel-item " :class="{ fade: indexid === index }" v-for="(item, index) in list" :key="item.id"> <RouterLink to="/"> <img :src="item.imgUrl" alt="" /> </RouterLink> </li> </ul> <a href="javascript:;" class="carousel-btn prev" @click="lastPage"><i class="iconfont icon-angle-left"></i></a> <a href="javascript:;" class="carousel-btn next" @click="nextPage"><i class="iconfont icon-angle-right"></i></a> <div> <span @click="indexid = i - 1" v-for="i in list.length" :key="i" :class="{ active: indexid === i - 1 }"></span> </div> </div> </template>
js語法
<script> import { ref, watch, onUnmounted } from 'vue' export default { name: 'Carousel', props: { // 圖片資料 list: { type: Object, default: () => {} }, // 輪播圖每張切換的事件 duration: { type: Number, default: 2 }, // 是否開啟輪播圖 autoplay: { type: Boolean, default: true }, // 點選翻幾張 page: { type: Number, default: 1 } }, setup(props) { // 索引 const indexid = ref(0) // 輪播 const timer = ref(null) const TimeFn = () => { clearInterval(timer) // 每次執行前都清除上一次的定時器 timer.value = setInterval(() => { indexid.value++ // 如果超出界限就重新回填 if (indexid.value > props.list.length - 1) { indexid.value = 0 } }, props.duration * 1000) } // 點選+下一站圖片 const nextPage = () => { indexid.value += props.page if (indexid.value > props.list.length - 1) { indexid.value = 0 } } // 點選+上一張圖片 const lastPage = () => { indexid.value -= props.page if (indexid.value < 0) { indexid.value = props.list.length - 1 } } // 清除定時器 const leaveFn = () => { // console.log('清除定時器') clearInterval(timer.value) // console.log(timer) } // 元件消耗,清理定時器 onUnmounted(() => { clearInterval(timer.value) }) // 開啟定時器 const enterFn = () => { if (props.list.length > 1 && props.autoplay) { // console.log('開啟定時器') TimeFn() } } watch( () => props.list, () => { if (props.list.length > 1 && props.autoplay) { TimeFn() } } ) return { indexid, leaveFn, enterFn, nextPage, lastPage } } } </script>
css樣式
<style scoped> .xtx-carousel { width: 100%; height: 100%; min-width: 300px; min-height: 150px; position: relative; .carousel { &-body { width: 100%; height: 100%; } &-item { width: 100%; height: 100%; position: absolute; left: 0; top: 0; opacity: 0; transition: opacity 0.5s linear; &.fade { opacity: 1; z-index: 1; } img { width: 100%; height: 100%; } } &-indicator { position: absolute; left: 0; bottom: 20px; z-index: 2; width: 100%; text-align: center; span { display: inline-block; width: 12px; height: 12px; background: rgba(0, 0, 0, 0.2); border-radius: 50%; cursor: pointer; ~ span { margin-left: 12px; } &.active { background: #fff; } } } &-btn { width: 44px; height: 44px; background: rgba(0, 0, 0, 0.2); color: #fff; border-radius: 50%; position: absolute; top: 228px; z-index: 2; text-align: center; line-height: 44px; opacity: 0; transition: all 0.5s; &.prev { left: 20px; } &.next { right: 20px; } } } &:hover { .carousel-btn { opacity: 1; } } } </style>
以上就是小說APP原始碼,手動滑動輪播圖時,輪播圖跟隨移動實現的相關程式碼, 更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2846472/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 直播平臺原始碼,純JS實現左右滑動輪播圖原始碼JS
- 直播app開發,實現輪播圖上下自動滑動展示效果APP
- 直播軟體app開發,左右自動滑動的輪播圖廣告APP
- 直播軟體搭建,橫版自動滑動的輪播圖
- 微信小程式------輪播圖------縱向輪播圖微信小程式
- react無縫滾動輪播圖React
- 移動端輪播圖實現方法(dGun.js)JS
- JavaScript實戰專案:移動端 Touch 輪播圖JavaScript
- 直播app原始碼,HTML + jQuery 實現輪播圖APP原始碼HTMLjQuery
- jQuery輪播圖之上下輪播jQuery
- 輪播圖
- vue swiper 元件切換tab後自動輪播失效,手動滑一下才自動輪播生效的問題Vue元件
- 手機直播原始碼,android 輪播圖自定製元件原始碼Android元件
- vue輪播圖Vue
- Flutter輪播圖Flutter
- 直播電商原始碼,android設定輪播圖轉場動畫特效原始碼Android動畫特效
- 成品直播原始碼,輪播圖無縫切換以及自動懸停原始碼
- 使用jQuery實現的平滑滾動輪播圖jQuery
- JQuery實現圖片輪播無縫滾動jQuery
- 輪播圖(JavaScript定時器)JavaScript定時器
- js點選拉拽輪播圖pc端移動端適配JS
- 微信小程式swiper輪播圖卡死來回瘋狂輪播微信小程式
- 手動實現輪播圖(二):迴圈滾動、定時切換與指示器
- app直播原始碼,Banner廣告圖片輪播控制元件APP原始碼控制元件
- 直播平臺軟體開發,卡片式輪播圖,可左右滑動
- js 輪播圖 (原生)JS
- Axure之使用動態皮膚建立banner輪播圖
- 一對一直播系統原始碼,軟體首頁輪播圖輪播效果原始碼
- 文字輪播與圖片輪播?CSS 不在話下CSS
- TWEEN動畫、JQUERY、ES6 — 3、 輪播圖-左右運動版本動畫jQuery
- 直播系統原始碼,點選滾動的輪播圖自動跳轉到相應頁原始碼
- 直播軟體原始碼,Android---Banner輪播圖原始碼Android
- css實現滾動輪播CSS
- 小程式輪播圖應用——技巧篇
- layui 輪播圖動態資料不顯示問題UI
- spring boot+bootstrap實現動態輪播圖實戰Spring Boot
- 直播平臺製作,ViewPager自動輪播,手指按住停止輪播Viewpager
- ViewPage實現輪播圖View