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

JavaScript、Vue實現(xiàn)大數(shù)據(jù)大屏展示3D旋轉(zhuǎn)動畫效果

這篇具有很好參考價值的文章主要介紹了JavaScript、Vue實現(xiàn)大數(shù)據(jù)大屏展示3D旋轉(zhuǎn)動畫效果。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

效果

最近在寫一些數(shù)據(jù)大屏的時候客戶需要做個3D旋轉(zhuǎn)動效的效果,簡單整理之后寫了一個小demo做下記錄,先看一下效果:
JavaScript、Vue實現(xiàn)大數(shù)據(jù)大屏展示3D旋轉(zhuǎn)動畫效果
當(dāng)點擊next的時候,整個模塊旋轉(zhuǎn)切換到下個菜單,點擊prev的時候也可以切換到上一個菜單效果。

開始編寫

  1. 首先我們先構(gòu)建一個大體的dom結(jié)構(gòu),如下:
    JavaScript、Vue實現(xiàn)大數(shù)據(jù)大屏展示3D旋轉(zhuǎn)動畫效果
  2. 編寫基本的css樣式,
//設(shè)置整個模塊的大小,以及3D 元素距視圖的距離
 .carousel {
            width: 100%;
            height: 600px;
            perspective: 500px;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            align-items: center;
        }
 .carousel figure {
            margin: 0;
            width: 420px;
            transform-style: preserve-3d;
            transition: transform 0.5s;
        }
        
        .carouselItem {
            width: 100%;
            height: 500px;
            box-sizing: border-box;
            cursor: pointer;
            -webkit-box-reflect: below 20px -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .5) 100%);
        }
        
        .itemContent {
            width: 100%;
            height: 100%;
            border: 1px solid rgba(0, 180, 220, 0.5);
            box-shadow: 0 0 4vw rgba(9, 46, 148, .3) inset;
            background: linear-gradient(180deg, rgba(9, 46, 148, 0.6), rgba(9, 46, 148, 0.3), rgba(9, 46, 148, 0.3), rgba(9, 46, 148, 0.6));
            border-radius: 4px;
            font-size: 4rem;
            font-weight: bolder;
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
        }
        
        .carouselItem:not(:first-of-type) {
            position: absolute;
            left: 0;
            top: 0;
        }
  1. 重點的jq部分,代碼如下:
  var figure = $("figure"),
            nav = $("nav"),
            items = $(".carouselItem"),
            n = items.length,
            theta = 2 * Math.PI / n,
            currImage = 0;
        setUpCarousel(n, items.width());

首先我們先獲取所有需要的元素,以及設(shè)計初始值,并實現(xiàn)setUpCarousel方法

function setUpCarousel(n, s) {
            var apothem = s / (2 * Math.tan(Math.PI / n));
            figure.css('transformOrigin', '50% 50% ' + -apothem + 'px');
            items.css("padding", "40px " + $(".carousel").attr("data-gap") + "px 0");
            for (var i = 1; i < n; i++) {
                items.eq(i).css({
                    'transformOrigin': '50% 50% ' + -apothem + 'px',
                    'transform': 'rotateY(' + i * theta + 'rad)',
                });
            }
            rotateCarousel(currImage);
        }

其中我們通過獲取所有的子元素,然后進行計算得出每個子元素需要占用多大的弧度位置,同時我們給父級修改其中心點位,通過獲取子元素上面設(shè)置data-gap的值設(shè)置為padding值,之后給每個子元素都設(shè)置rotateY值,之后實現(xiàn)rotateCarousel方法.以及點擊前進后退的方法,

 function rotateCarousel(index) {
            figure.css({
                "transform": "rotateX(0deg) rotateY(" + index * -theta + "rad)"
            });
        }
        $(".prev").click(() => {
            currImage--;
            rotateCarousel(currImage);
        })
        $(".next").click(() => {
            currImage++;
            rotateCarousel(currImage);
        })

我們直接修改父級的視角rotateY()即可.

下面補充自動旋轉(zhuǎn)的效果代碼:

 var xdeg = 0;
 setInterval(function() {
     xdeg = xdeg + 0.3;
     $('figure').css('transform', "rotateY(" + -xdeg + "deg)");
 }, 20);

附上全部腳本代碼,歡迎批評指正.
JavaScript、Vue實現(xiàn)大數(shù)據(jù)大屏展示3D旋轉(zhuǎn)動畫效果文章來源地址http://www.zghlxwxcb.cn/news/detail-514906.html

到了這里,關(guān)于JavaScript、Vue實現(xiàn)大數(shù)據(jù)大屏展示3D旋轉(zhuǎn)動畫效果的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Vue常用的組件庫大全【前端工程師必備】【實時更新】【移動端、PC端(web端)、數(shù)據(jù)可視化組件庫(數(shù)據(jù)大屏) 、動畫組件庫、文本編輯器,富文本Markdown,3D組件庫】

    Vue常用的組件庫大全【前端工程師必備】【實時更新】【移動端、PC端(web端)、數(shù)據(jù)可視化組件庫(數(shù)據(jù)大屏) 、動畫組件庫、文本編輯器,富文本Markdown,3D組件庫】

    1)Vant ui ??有贊移動 UI 組件庫,支持 Vue2/3 微信小程序,支付寶小程序 https://vant-contrib.gitee.io/vant/v2/#/zh-CN/col Vant 是由有贊前端團隊開發(fā)的一套基于 Vue.js 的移動端 UI 組件庫,它包含了豐富的組件和功能,可以幫助開發(fā)者快速構(gòu)建高質(zhì)量的移動應(yīng)用。Vant 以簡潔易用和高質(zhì)量

    2024年02月07日
    瀏覽(53)
  • 利用微信小程序新動畫API之this.animate()實現(xiàn)3D旋轉(zhuǎn)

    從微信小程序基礎(chǔ)庫 2.9.0 開始支持一種更友好的動畫創(chuàng)建方式,用于代替舊的 wx.createAnimation 。它具有更好的性能和更可控的接口。 在頁面或自定義組件中,當(dāng)需要進行關(guān)鍵幀動畫時,可以使用 this.animate 接口(官方API文檔鏈接地址:https://developers.weixin.qq.com/miniprogram/dev/fr

    2023年04月08日
    瀏覽(30)
  • JavaScript實現(xiàn)背景圖像切換3D動畫效果

    JavaScript實現(xiàn)背景圖像切換3D動畫效果

    ?? 個人主頁: 不叫貓先生 ???♂? 作者簡介:2022年度博客之星前端領(lǐng)域TOP 2,前端領(lǐng)域優(yōu)質(zhì)作者、阿里云專家博主,專注于前端各領(lǐng)域技術(shù),共同學(xué)習(xí)共同進步,一起加油呀! ??優(yōu)質(zhì)專欄:vue3從入門到精通、TypeScript從入門到實踐 ?? 資料領(lǐng)取:前端進階資料以及文中源

    2023年04月20日
    瀏覽(27)
  • Unity 3d角色展示腳本(旋轉(zhuǎn) 平移 縮放)展示界面

    不考慮性能 很簡陋的一個功能,主要是用于角色渲染的觀察用,比simplecontroller要好用一點

    2024年02月11日
    瀏覽(28)
  • 【CSS動畫02--卡片旋轉(zhuǎn)3D】

    【CSS動畫02--卡片旋轉(zhuǎn)3D】

    css動畫02--旋轉(zhuǎn)卡片3D 當(dāng)鼠標(biāo)移動到中間的卡片上會有隨著中間的Y軸進行360°的旋轉(zhuǎn),以下是幾張圖片的介紹,上面是鄙人自己錄得一個供大家參考的小視頻??

    2024年02月12日
    瀏覽(27)
  • 農(nóng)業(yè)管理3d可視化管理大屏展示為鄉(xiāng)村新基建加速

    農(nóng)業(yè)管理3d可視化管理大屏展示為鄉(xiāng)村新基建加速

    隨著科技的不斷發(fā)展,智慧農(nóng)業(yè)已經(jīng)成為當(dāng)今社會農(nóng)業(yè)發(fā)展的一個重要趨勢。而數(shù)字孿生技術(shù)作為一種新興的技術(shù)手段,正在逐漸應(yīng)用到智慧農(nóng)業(yè)領(lǐng)域中。 數(shù)字孿生公司深圳華銳視點基于數(shù)字孿生為核心技術(shù)打造的智慧大腦為鄉(xiāng)村新基建加速,讓鄉(xiāng)村更“聰明”,通過規(guī)劃一

    2024年02月15日
    瀏覽(17)
  • 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會安裝最新版本會導(dǎo)致不顯示 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)
  • VUE 實現(xiàn) 3D詞云 旋轉(zhuǎn)詞云效果

    ?效果視頻: 3D詞云

    2024年02月05日
    瀏覽(16)
  • 前端3D卡片輪播動畫旋轉(zhuǎn)小案例

    ? ? ? ? 這個前端3D卡片輪播動畫旋轉(zhuǎn)小案例是一個基于 CSS3 和 JavaScript 實現(xiàn)的交互效果,可以讓用戶在網(wǎng)頁上瀏覽一組卡片,并通過鼠標(biāo)或手指滑動來切換卡片。每個卡片都有一個獨特的3D旋轉(zhuǎn)效果,可以讓用戶感受到卡片的立體感和動態(tài)效果。 ? ? ? ? 該案例的實現(xiàn)思路

    2024年02月11日
    瀏覽(23)
  • VUE3+ThreeJs實現(xiàn)3D全景場景,可自由旋轉(zhuǎn)視角

    VUE3+ThreeJs實現(xiàn)3D全景場景,可自由旋轉(zhuǎn)視角

    three.js是一個用于在Web上創(chuàng)建三維圖形的JavaScript庫。它可以用于創(chuàng)建各種類型的三維場景,包括游戲、虛擬現(xiàn)實、建筑和產(chǎn)品可視化等。three.js提供了許多功能和特性,包括3D渲染、光照、材質(zhì)、幾何形狀、動畫、交互和相機控制等。使用three.js,開發(fā)人員可以輕松地創(chuàng)建復(fù)雜

    2024年02月11日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包