杭州亚运会倒计时

在这里插入图片描述
最近在学Vue,顺便用了框架实现了需求
mounted() 是生命周期钩子,在Vue完成模板的解析并把初始的真实DOM元素放入页面后(挂载完毕)后进行回调

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #daojishi{
            color: green;
            text-align: center;
            display: flex;
            justify-content: center;
            margin-top: 30px;
        }
        #img{
            display: block;
            margin:  0 auto;
        }
    </style>
    <script src="https://cdn.bootcdn.net/ajax/libs/dayjs/1.10.6/dayjs.min.js"></script>
    <script src="../js/vue.js"></script>
</head>
<body>
    <div id="root">
        <img id="img" src="../img/hzyyh.png">
        <span id="daojishi">
            <span>倒计时 {{calSpan()}}</span>
        </span>
        
    </div>
    
    <script>
        Vue.config.productionTip = false;
            var vm=new Vue({
               el:'#root',
               data:{
                   day:'',
                   hour:'',
                   min:'',
                   sec:'',
               },
               methods:{
                   calSpan(){
                    var startTime = Date.now();
                    var endTime = new Date('09/10/2022 00:00:00');
                    var timeSpan = endTime.getTime() - startTime;
                    this.sec = Math.floor( timeSpan/1000%60);
                    this.min = Math.floor(timeSpan/1000/60%60);
                    this.hour = Math.floor(timeSpan/1000/60/60%24);
                    this.day =Math.floor( timeSpan/1000/60/60/24);
                    return this.day+"天 "+ this.hour+'时 '+this.min+"分 "+this.sec+'秒'
                   },
                },
               mounted() {
                   setInterval(this.calSpan, 1000);
               },
            });
    </script>
</body>
</html>
好的,我来给您写一个基于 Vue 和 ElementUI 的亚运会倒计时。 首先 Vue 项目中安装 ElementUI: ``` npm install element-ui --save ``` 然后在 main.js 中引入 ElementUI: ```javascript import Vue from 'vue' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.use(ElementUI) ``` 接着,我们在组件中使用 ElementUI 的 CountDown 组件来实现倒计时功能: ```html <template> <div class="countdown"> <el-count-down :time="countdownTime" :auto-start="false" @finish="handleFinish"> <template slot-scope="{ days, hours, minutes, seconds }"> <div class="countdown-item"> <span class="countdown-value">{{ days }}</span> <span class="countdown-label">天</span> </div> <div class="countdown-item"> <span class="countdown-value">{{ hours }}</span> <span class="countdown-label">时</span> </div> <div class="countdown-item"> <span class="countdown-value">{{ minutes }}</span> <span class="countdown-label">分</span> </div> <div class="countdown-item"> <span class="countdown-value">{{ seconds }}</span> <span class="countdown-label">秒</span> </div> </template> </el-count-down> </div> </template> <script> export default { data() { return { countdownTime: new Date('2022-09-10T00:00:00Z') // 2022年9月10日亚运会开幕时间 } }, methods: { handleFinish() { // 倒计时结束的回调函数 console.log('倒计时结束') } } } </script> <style scoped> .countdown { display: flex; } .countdown-item { display: flex; flex-direction: column; align-items: center; margin-right: 10px; } .countdown-value { font-size: 24px; font-weight: bold; } .countdown-label { font-size: 12px; color: #aaa; } </style> ``` 以上代码实现了一个简单的亚运会倒计时,其中我们使用了 ElementUI 的 CountDown 组件,并设置了倒计时结束的回调函数 handleFinish。在模板中使用了 slot-scope 来获取倒计时的天数、小时数、分钟数和秒数,并将它们渲染到页面上。 希望对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值