亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

使用vue寫一個(gè)翻頁的時(shí)間插件實(shí)例代碼

瀏覽:97日期:2022-06-01 11:38:10
目錄
  • 效果圖
  • 代碼
  • 總結(jié)

讀秒效果有一個(gè)從上向下的翻頁效果

效果圖

clock

代碼

<template>  <div>    <div>      <p>{{dateToday}}</p>      <span>{{$t(weekDay)}}</span>    </div>    <div>      <div :class="timeLab==="AM"?"labelTip amstyle":"labelTip pmstyle""><span>{{timeLab}}</span>      </div>      <div :class="timeLab==="AM"?"flip amcolor":"flip pmcolor""><span></span><span></span><div     :data-number="nextTimes[0]"></div><div     :data-number="nowTimes[0]"></div>      </div>      <div :class="timeLab==="AM"?"flip amcolor":"flip pmcolor""><span></span><span></span><div     :data-number="nextTimes[1]"></div><div     :data-number="nowTimes[1]"></div>      </div>      <em :class="timeLab==="AM"?"divider amcolor":"divider pmcolor""> <i></i></em>      <div :class="timeLab==="AM"?"flip amcolor":"flip pmcolor""><span></span><span></span><div     :data-number="nextTimes[2]"></div><div     :data-number="nowTimes[2]"></div>      </div>      <div :class="timeLab==="AM"?"flip amcolor":"flip pmcolor""><span></span><span></span><div     :data-number="nextTimes[3]"></div><div     :data-number="nowTimes[3]"></div>      </div>      <em :class="timeLab==="AM"?"divider amcolor":"divider pmcolor""> <i></i></em>      <div :class="timeLab==="AM"?"flip amcolor":"flip pmcolor""><span></span><span></span><div     :data-number="nextTimes[4]"></div><div     :data-number="nowTimes[4]"></div>      </div>      <div :class="timeLab==="AM"?"flip amcolor":"flip pmcolor""><span></span><span></span><div     :data-number="nextTimes[5]"></div><div     :data-number="nowTimes[5]"></div>      </div>    </div>  </div></template><script>import {  defineAsyncComponent,  defineComponent,  getCurrentInstance,  onMounted,  reactive,  toRefs,} from "vue";import DateUtil from "@/utils/dateUtil";export default {  setup() {    const { proxy } = getCurrentInstance();    const data = reactive({      nowTimes: [],      nextTimes: [],      timer: {},      timeLab: "AM",      dateToday: "",      weekDay: "",      timeKey: 0    });    onMounted(() => {      initDate();      data.timer = setInterval(() => {updateTime();      }, 1000)    });    const initDate = async () => {      let now = new Date();      data.dateToday = proxy.$moment(now).format("MMM D, YYYY")      let nowWeek = now.getDay()      data.weekDay = DateUtil.returnWeek()[nowWeek]      data.nowTimes = getTimeFromDate(new Date(now.getTime() - 1000));      data.nextTimes = getTimeFromDate(now)    }    const updateTime = () => {      let now = new Date();      data.timeKey = now      let nowTimes = getTimeFromDate(new Date(now.getTime() - 1000));      let nextTimes = getTimeFromDate(now);      data.nowTimes = nowTimes      // console.log("nowTimes", nowTimes)      for (let i = 0; i < 6; i++) {if (nowTimes[i] !== nextTimes[i]) {  //  setSpin(i, nowTimes[i], nextTimes[i]);  setSpin(i, nowTimes, nextTimes);}      }    }    // 執(zhí)行翻頁操作    const setSpin = (index, nowTime, nextTime) => {      let nodes = document.querySelectorAll(".flip");      if (nodes.length) {nodes[index].classList.add("running");//   data.nowTimes.splice(index, 1, nowTime);data.nowTimes = nowTimesetTimeout(() => {  nodes[index].classList.remove("running");  //  data.nowTimes.splice(index, 1, nextTime);  //  data.nextTimes.splice(index, 1, nextTime);  data.nowTimes = nextTime  data.nextTimes = nextTime}, 800)      } else {clearInterval(data.timer);data.timer = null      }    }    // 獲取時(shí)間顯示參數(shù)    const getTimeFromDate = (date) => {      let numTime = [];      let timeStr = proxy.$moment(date).format("hh:mm:ss A")      // let timeStr = proxy.$moment(date).format("hh:mm A")      data.timeLab = timeStr.split(" ")[1]      let time1 = timeStr.split(" ")[0].split(":").join("")      for (let i = 0; i < time1.length; i++) {numTime.push(parseInt(time1[i]));      }      return numTime    }    //銷毀    return {      ...toRefs(data),      initDate,      updateTime,      setSpin,      getTimeFromDate,    };  }}</script><style lang="scss" scoped>.dateClock {   display: flex;   .todayClass {      padding-right: 5px;      .datep { font-size: 30px; padding-top: 5px;      }   }   .clock {      display: flex;   }}.clock .divider {   font-size: 40px;   line-height: 47px;   .iconfont {      margin-right: 0;   }}.clock .flip {   position: relative;   width: 44px;   height: 60px;   margin: 2px;   font-size: 40px;   line-height: 60px;   text-align: center;   background: #ffffff;   border: 1px solid #b8b8b8;   border-radius: 4px;   .leftline {      position: absolute;      left: 0;      top: 26px;      width: 0;      height: 8px;      border: 1px solid #b8b8b8;      z-index: 5;   }   .rightline {      position: absolute;      right: 0;      top: 26px;      width: 0;      height: 8px;      border: 1px solid #b8b8b8;      z-index: 5;   }}.amcolor {   color: #ff43a1;}.pmcolor {   color: #1890ff;}.labelTip {   width: 44px;   height: 60px;   margin: 2px;   line-height: 60px;   text-align: center;   border-radius: 4px;   font-size: 16px;   font-weight: bold;   color: #fff;}.amstyle {   background-color: #ff43a1;}.pmstyle {   background-color: #1890ff;}.clock .flip .digital::before,.clock .flip .digital::after {   position: absolute;   content: attr(data-number);   left: 0;   right: 0;   background: #fff;   overflow: hidden;   -webkit-perspective: 160px;   perspective: 160px;}.clock .flip .digital::before {   top: 0;   bottom: 50%;   border-bottom: 1px solid #fff;   border-radius: 4px 4px 0 0;}.clock .flip .digital::after {   top: 50%;   bottom: 0;   line-height: 0;   border-radius: 0 0 4px 4px;   background: linear-gradient(180deg, #ffffff, #ffffff 68%, #e2e2e2);}.clock .flip .back::before,.clock .flip .front::after {   z-index: 1;}.clock .flip .back::after {   z-index: 2;}.clock .flip .front::before {   z-index: 3;}.clock .flip .back::after {   -webkit-transform-origin: center top;   transform-origin: center top;   -webkit-transform: rotateX(0.5turn);   transform: rotateX(0.5turn);}.clock .flip.running .front::before {   -webkit-transform-origin: center bottom;   transform-origin: center bottom;   -webkit-animation: frontFlipDown 1s ease-in-out;   animation: frontFlipDown 1s ease-in-out;   -webkit-backface-visibility: hidden;   backface-visibility: hidden;}.clock .flip.running .back::after {   -webkit-animation: backFlipDown 1s ease-in-out;   animation: backFlipDown 1s ease-in-out;}@-webkit-keyframes frontFlipDown {   to {      -webkit-transform: rotateX(0.5turn);      transform: rotateX(0.5turn);   }}@keyframes frontFlipDown {   to {      -webkit-transform: rotateX(0.5turn);      transform: rotateX(0.5turn);   }}@-webkit-keyframes backFlipDown {   to {      -webkit-transform: rotateX(0);      transform: rotateX(0);   }}@keyframes backFlipDown {   to {      -webkit-transform: rotateX(0);      transform: rotateX(0);   }}</style>

總結(jié)

到此這篇關(guān)于使用vue寫一個(gè)翻頁的時(shí)間插件的文章就介紹到這了,更多相關(guān)vue翻頁時(shí)間插件內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: JavaScript
主站蜘蛛池模板: 国产精品秒播无毒不卡 | 女人一级毛片免费观看 | 午夜亚洲国产 | 国产高清色视频免费看的网址 | 无人区二区三区地址 | 欧美一区二区三区在线观看 | 91在线视频 | 1000部未满岁18在线观看污 | 国产精品高清视亚洲乱码 | 日本h片a毛片在线播放 | 久久久免费观看视频 | 国产美女在线精品亚洲二区 | 黄色片免费在线 | 中文字幕一区精品欧美 | 精品一区二区三区在线观看视频 | 色播综合网 | 一级二级黄色片 | 国产香蕉视频在线 | 欧美一级毛片一级毛片 | 日韩欧美日本 | 三级黄色片免费观看 | 国产性精品 | 91在线高清| 免费视频网站一级人爱视频 | 国产麻豆视频免费观看 | 国产亚洲综合精品一区二区三区 | 五月国产综合视频在线观看 | 2019国内精品久久久久久 | 免费在线黄色网址 | 国产精品欧美一区喷水 | 国产三级在线观看免费 | 51国产午夜精品免费视频 | 久久久不卡| 日本黄色毛片 | 丁香婷婷久久大综合 | 国产精品亚洲欧美云霸高清 | 亚洲欧美日韩在线2020 | 韩国免费高清一级毛片性色 | 精品国模一区二区三区 | 能看毛片的网址 | 黄色影院网站 |