国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue2/3項目中使用Vue Carousel 3D實現(xiàn) Carousel 3D 輪播

這篇具有很好參考價值的文章主要介紹了vue2/3項目中使用Vue Carousel 3D實現(xiàn) Carousel 3D 輪播。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

項目需求大概是這個樣子,這種并不能通過圍成一周再旋轉(zhuǎn)父級實現(xiàn),因此圖方便選擇了組件

vue2/3項目中使用Vue Carousel 3D實現(xiàn) Carousel 3D 輪播

輪播

?

?vue2,可以直接使用?Playground - Vue Carousel 3D - 3D Carousel for Vue.js

?進行改造成自己需要的樣子。文檔為英文,中文可參考這位

Vue 3D輪播插件vue-carousel-3d_memory_zzz的博客-CSDN博客

vue2/3項目中使用Vue Carousel 3D實現(xiàn) Carousel 3D 輪播

以上API過少,可以使用 ref 綁定,通過onSlideChange打印出所有掛載的屬性和函數(shù)

vue2/3項目中使用Vue Carousel 3D實現(xiàn) Carousel 3D 輪播

?vue2/3項目中使用Vue Carousel 3D實現(xiàn) Carousel 3D 輪播

?vue2/3項目中使用Vue Carousel 3D實現(xiàn) Carousel 3D 輪播

?其中,goNext() 和 goPrev()為左右移位,goFar(index)和 goSlide(index)可以跳到對應(yīng)的位置,只是表現(xiàn)形式不同(個人淺顯理解)。以上就是vue2使用Vue Carousel 3D的大概方法,在此簡單概述。

安裝并在main.js引入后的完整代碼

<template>
  <div >
  <carousel-3d ref="carousel" :perspective="30" :inverseScaling="500" :space="400" :loop="false" @before-slide-change="onSlideChange">
    <slide v-for="(item,index) in Lists" :key="index" :index='index'>
      <div class="carouselTitle">{{item.title}}</div>
      <div class="carouselContent">{{item.text}}</div>
    </slide>
  
  </carousel-3d>
  <div class="enums" >
  <div class="enums-list" @click="goSlideIndex(index)" height="20px" v-for="(item,index) in Lists" :key="index">
    {{ item.title }}
  </div>
  </div>
</div>
</template>
<script>
import { Carousel3d, Slide } from "vue-carousel-3d";
// import Carousel3d from 'vue-carousel-3d';
export default {
  components: {
    Carousel3d,
    Slide,
  },
  data(){
    return{
      Lists:[
      {
          title: '1',
          text:"xxxxxx ",   
        },
        {
          title: '2',
          text:"xxxxxx ", 
        },
        {
          title: '3',
          text:"xxxxxx ",
        },
        {
          title: '4',
          text:"xxxxxx ",       
        },
        {
          title: '5',
          text:"xxxxxx ",         
        },
        {
          title: '6',
          text:"xxxxxx ",  
        },
        {
          title: '7',
          text:"xxxxxx ", 
        },
        {
          title: '8',
          text:"xxxxxx ", 
        },
      ]
    }
  },
  methods:{
    onSlideChange(temp){
      console.log(this.$refs.carousel,'xxx');
      this.carouselIndex = temp;
     
    },
    goSlideIndex(index){
      // this.$refs.carousel.goNext(index)
      if(index>this.Lists.length-1 || 0>this.Lists.length-1){
        return;
      }
      // this.$refs.carousel.goSlide(index);
      this.$refs.carousel.goFar(index);
      
    },
  }
};
</script>
<style lang="less" scoped>
/deep/.left-1 {
  color: red;
  transform: rotateY(-40deg) translateX(-400px) translateZ(100px) !important;
}
/deep/.left-2 {
  color: red;
  transform: rotateY(-40deg) translateX(-800px) translateZ(100px) !important;
}
/deep/.right-1 {
  color: red;
  transform: rotateY(40deg) translateX(400px) translateZ(100px) !important;
}
/deep/.right-2 {
  color: red;
  transform: rotateY(40deg) translateX(800px) translateZ(100px) !important;
}
.enums{
  width: 300px;
  height: 30px;
  margin: 120px auto;
  display: flex;
  justify-content: center;
  // border: 1px solid black;
}
.enums-list{
  width: 30px;
  height: 100%;
  line-height: 30px;
  border: 1px solid gray;
  text-align: center;
}
</style>

以下重點說一下vue3中的使用。

費了不少力氣然后查到有Vue3 Carousel 3D 這個東西。

https://www.npmjs.com/package/vue3-carousel-3d

于是在自己的私人項目里測試了下,

npm install vue3-carousel-3d
# or
yarn add vue3-carousel-3d

官網(wǎng)推薦是這樣的

vue2/3項目中使用Vue Carousel 3D實現(xiàn) Carousel 3D 輪播

?我稍微改動了下 ,在main.ts 中 放入這三行代碼,

import Carousel3d from 'vue3-carousel-3d';

import "vue3-carousel-3d/dist/index.css"

app.use(Carousel3d)

然后在輪播頁我注釋掉了這些

vue2/3項目中使用Vue Carousel 3D實現(xiàn) Carousel 3D 輪播

然后vue3基本可以實現(xiàn)了。有部分人vite的項目可能會遇到這樣的報錯

vue2/3項目中使用Vue Carousel 3D實現(xiàn) Carousel 3D 輪播

?可以通過

在?vite.confg.js?文件中添加如下配置

resolve: {
      dedupe: [
        'vue'
      ],
}

重新啟動項目后就可以了,注意有的沒出現(xiàn)也有可能沒給寬高。

vue3內(nèi)完整代碼如下:

<template>
  <div>
    <div style="width: 1200px; height: 200px; margin-top: 130px">
      <carousel-3d
        ref="carousel"
        @before-slide-change="onSlideChange"
        :autoplayTimeout="3000"
        :perspective="35"
        :display="5"
        :animationSpeed="1000"
        :width="300"
        :height="270"
        controlsVisible
        :controlsHeight="60"
      >
        <slide v-for="(item, i) in lists" :index="i" :key="i">
          <div class="carouselTitle">{{ item.title }}</div>
        </slide>
      </carousel-3d>
    </div>
    <div class="enums">
      <div
        class="enums-list"
        @click="goSlideIndex(index)"
        height="20px"
        v-for="(item, index) in lists"
        :key="index"
      >
        {{ item.title }}
      </div>
    </div>
  </div>
</template>

<script>
  // import { Carousel3d, Slide } from 'vue-carousel-3d'
  export default {
    //     components: {
    //     Carousel3d,
    //     Slide
    //   },
    data() {
      return {
        lists: [
          {
            title: '1',
          },
          {
            title: '2',
          },
          {
            title: '3',
          },
          {
            title: '4',
          },
          {
            title: '5',
          },
          {
            title: '6',
          },
        ],
      };
    },
    methods: {
      onSlideChange(temp) {
        console.log(this.$refs.carousel, 'xxx');
        this.carouselIndex = temp;
      },
      goSlideIndex(index) {
        // this.$refs.carousel.goNext(index)
        if (index > this.lists.length - 1 || 0 > this.lists.length - 1) {
          return;
        }
        // this.$refs.carousel.goSlide(index);
        this.$refs.carousel.goFar(index);
        // console.log(this.$refs.carousel.goFar(index),'dadad');
      },
    },
  };
</script>

<style lang="less" scoped>
  :deep(.left-1) {
    color: red;
    transform: rotateY(-40deg) translateX(-400px) translateZ(100px) !important;
  }
  :deep(.left-2) {
    color: red;
    transform: rotateY(-40deg) translateX(-800px) translateZ(100px) !important;
  }
  :deep(.right-1) {
    color: red;
    transform: rotateY(40deg) translateX(400px) translateZ(100px) !important;
  }
  :deep(.right-2) {
    color: red;
    transform: rotateY(40deg) translateX(800px) translateZ(100px) !important;
  }
  .el-carousel__item h3 {
    color: #475669;
    font-size: 14px;
    opacity: 0.75;
    line-height: 200px;
    margin: 0;
  }

  .el-carousel__item:nth-child(2n) {
    background-color: #99a9bf;
  }

  .el-carousel__item:nth-child(2n + 1) {
    background-color: #d3dce6;
  }
  .enums {
    width: 300px;
    height: 30px;
    margin: 120px auto;
    display: flex;
    justify-content: center;
    // border: 1px solid black;
  }
  .enums-list {
    width: 30px;
    height: 100%;
    line-height: 30px;
    border: 1px solid gray;
    text-align: center;
  }
</style>

?以上為測試代碼,比較簡陋,供大家參考一下文章來源地址http://www.zghlxwxcb.cn/news/detail-474401.html

到了這里,關(guān)于vue2/3項目中使用Vue Carousel 3D實現(xiàn) Carousel 3D 輪播的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 教程6 Vue3+Element Plus el-carousel制作輪播圖(后面有修改樣式的方法)

    教程6 Vue3+Element Plus el-carousel制作輪播圖(后面有修改樣式的方法)

    (1)引入Element開發(fā)環(huán)境 (2)自動引入Element (3)在配置文件中進行配置,本人使用的是Vit構(gòu)建工具 如果使用Vite作為構(gòu)建工具,配置文件為vite.config.js,配置方法如下: (4)Element Plus全局引入 main.ts中增加下面的代碼: (1)運行效果 (2)Rotation.vue參考代碼 (3)卡片式輪

    2024年02月06日
    瀏覽(46)
  • vue2+vue-3d-loader 實現(xiàn)3D模型展示

    vue2+vue-3d-loader 實現(xiàn)3D模型展示

    1.安裝?vue-3d-loader npm i vue-3d-loader@1.x.x -S? 注意vue2只能用1.幾的版本 npm i?vue-3d-loader會安裝最新版本會導致不顯示 2.main.js文件配置,此為全局注冊 import vue3dLoader from \\\"vue-3d-loader\\\"; Vue.use(vue3dLoader) 3.具體使用 template ? vue3dLoader ? ? backgroundColor=\\\"rgb(216,217,219)\\\" ? ? :height=\\\"600\\\" ? ?

    2024年02月02日
    瀏覽(24)
  • vue2與vue3項目中,分別使用element組件的message消息提示只出現(xiàn)一次的實現(xiàn)

    vue2與vue3項目中,分別使用element組件的message消息提示只出現(xiàn)一次的實現(xiàn)

    比如出現(xiàn)以上現(xiàn)象,想要讓上一次提示沒有結(jié)束,下一次提示不會出現(xiàn)就可以用以下方法解決 解決后的現(xiàn)象一:上一次提示框顯示后,提示框出現(xiàn)的提示時間沒有結(jié)束,再次點擊,提示框不會有反應(yīng),在該提示的時間內(nèi)一只顯示,下一次提示不會出現(xiàn),直到該提示的時間過了

    2024年02月02日
    瀏覽(28)
  • vue項目中使用vant輪播圖組件(桌面端)

    vue項目中使用vant輪播圖組件(桌面端)

    vue使用vant輪播圖組件(桌面端) 2.1 Visual Studio Code 1.75.0 2.2 chrome瀏覽器 2.3 node v18.14.0 3.1 安裝環(huán)境 3.2 添加代碼 3.3 結(jié)果展示 4.1 安裝環(huán)境 先安裝包 然后桌面端適配 4.2 添加代碼 注冊組件 相比于官方給的代碼,有兩個方面需要注意,一個是適配桌面端,還有一個就是我以為vant組

    2024年02月04日
    瀏覽(34)
  • vue 項目使用three.js 實現(xiàn)3D看房效果

    vue 項目使用three.js 實現(xiàn)3D看房效果

    0.前言 該教程能幫助直接寫出vue項目的3D看房效果?。?! 先上效果圖 1.安裝依賴 2.vue代碼 這里文件名為three.vue 代碼非原創(chuàng),出處 vue3+threejs實現(xiàn)全景看房 (異步加載 BOLLROOM 部件為對原代碼的修改) 注意這里的hdr 文件必須要放在assets文件夾中,且要通過import模塊的形式導入!

    2024年02月13日
    瀏覽(94)
  • vue2+three.js實現(xiàn)類似VR、3D全景效果

    vue2+three.js實現(xiàn)類似VR、3D全景效果

    效果圖: 倆圖標是我自己加的前進后退按鈕,也是百度了好久,再加上GPT的幫助,才給搞出來。因為需求急,都不看官方文檔,百度到一個能跑的demo之后改吧改吧,就先用著了。 下面是代碼: 這里 代碼有很多用不到的地方和需要優(yōu)化的地方,我是來不及改了,就先這樣吧

    2024年02月15日
    瀏覽(87)
  • 使用vue-cli創(chuàng)建vue2項目以及項目配置

    使用vue-cli創(chuàng)建vue2項目以及項目配置

    1、安裝vue-cli cmd:npm install -g @vue/cli@4.5.19 驗證是否安裝成功:vue -v? ?出現(xiàn)版本號說明安裝成功 2、創(chuàng)建項目 vue create 項目名稱 根據(jù)自己的需求選擇特性,如下所示: 手動選擇: 選擇自己需要的特性:例如: 選擇vue版本 選擇路由模式 (輸入y和n都可以,y代表history模式?jīng)]有

    2024年02月06日
    瀏覽(94)
  • vue2+three.js+blender(實現(xiàn)3d 模型引入并可點擊效果)

    vue2+three.js+blender(實現(xiàn)3d 模型引入并可點擊效果)

    2023.9.13今天我學習了如何把3d建模里面的模型引入到vue中,并可以實現(xiàn)拖動,點擊的效果: 首先安裝: npm install three 相關(guān)代碼如下: ?如果沒有圖片可以去 Three.js--》建模軟件如何加載外部3D模型?_threejs加載3d模型_亦世凡華、的博客-CSDN博客

    2024年02月03日
    瀏覽(98)
  • 【Jquery插件】Owl Carousel輪播插件介紹與使用

    【Jquery插件】Owl Carousel輪播插件介紹與使用

    Owl Carousel:Basic Demo | Owl Carousel | 2.3.4 (owlcarousel2.github.io) 「Owl Carousel」插件常用的參數(shù)配置如下: 參數(shù)名稱 參數(shù)類型 默認值 說明 items number 3 設(shè)置同時顯示的輪播項數(shù) loop boolean false 是否開啟循環(huán)播放 autoplay boolean false 是否自動播放 autoplayTimeout number 5000 自動播放等待時間,

    2024年02月06日
    瀏覽(11)
  • vue2手機項目如何使用藍牙功能

    要在Vue2手機項目中使用藍牙功能,你需要先了解基本的藍牙知識和API。以下是一些基本的步驟: 確認你的手機設(shè)備支持藍牙功能。 在Vue2項目中安裝藍牙插件或庫,例如vue-bluetooth或vue-bluetooth-manager。你可以通過npm安裝它們。 在Vue2項目中創(chuàng)建一個藍牙服務(wù),并建立一個連接。

    2024年02月22日
    瀏覽(75)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包