我的编程空间,编程开发者的网络收藏夹
学习永远不晚

javascript实现数字时钟特效

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

javascript实现数字时钟特效

本文实例为大家分享了javascript实现数字时钟特效的具体代码,供大家参考,具体内容如下

先看效果,动态数字时钟

用到了jQuery,但是只是用来获取元素,只有一点点

面向对象开发

看代码

HTML,自己引入jQuery和js,jQuery在前


<body>
    <div class="wrapper">
        <div class="column">
            <!-- 此div表示时的十位,只有0,1,2三个 -->
            <div>0</div>
            <div>1</div>
            <div>2</div>
        </div>
        <!-- 以下的内容写到HTML内代码太过冗余,使用js写入 -->
        <div class="column ten"></div>
        <div class="coln">:</div>
        <div class="column six"></div>
        <div class="column ten"></div>
        <div class="coln">:</div>
        <div class="column six"></div>
        <div class="column ten"></div>
    </div>
</body>

CSS


*{
     margin: 0;
     padding: 0;
}
html,body{
     height: 100%;
     width: 100%;
     background-color: #0e141b;
    overflow: hidden;
    
}
.wrapper{
    text-align: center;
    width: 100%;
}
.wrapper .column,
.wrapper .coln{
    display: inline-block;
    vertical-align: top;
    color: rgba(224,230,235,0.89);
    font-size: 86px;
    line-height: 86px;
    font-weight: 300;
}
.column{
    transition: all 300ms ease-in;
}
.coln{
    
    transform: translateY(calc(50vh - 83px));
}

.visible{
    opacity: 1;
}
.close{
    opacity: 0.25;
}
.far{
    opacity: 0.15;
}
.distance{
    opacity: 0.05;
}

JS


function Index(dom, use) {
    // 把传进来的DOM元素转数组
    this.column = Array.from(dom);
    // 把use转到全局,这个是判断要显示的时制是112小时还是24小时
    this.use = use;
    // 这个数组是后面要设置的类名
    this.classList = ['visible', 'close', 'far', 'distance', 'distance', 'distance', 'distance', 'distance'];
    this.creatDom();
    this.start();//开始
}
// 开始函数
Index.prototype.start = function () {
    var self = this;
    setInterval(function () {
        var c = self.getClock();
        // console.log(c);
        self.column.forEach(function (ele, index) {
            var n = + c[index];
            var offset = n * 86;//移动距离
            console.log(offset);
            $(ele).css({
                'transform': 'translateY(calc(50vh - ' + offset + 'px - 73px))'
                // 设置移动
            });
            Array.from(ele.children).forEach(function (ele2, index2) {
                var className = self.getClass(n, index2);
                // 调用函数设置类名
                $(ele2).attr('class', className);
            })
        })
    }, 500);
};
// 为距离时间不一样的元素设置不一样的class名
Index.prototype.getClass = function (n, i) {
    var className = this.classList.find(function (ele, index) {
        return i - index === n || i + index === n;
    })
    return className || "";
}
 
// 获得时间并且格式化时间,字符串 21:06:09   ==>  210609
Index.prototype.getClock = function () {
    var d = new Date();
    // 这里走一个三目运算符,如果use是真(true)则取值,如果为假则12取余转为12小时制
    return [this.use ? d.getHours() : d.getHours() % 12 || 12, d.getMinutes(), d.getSeconds()].reduce(function (p, n) {
        return p + ('0' + n).slice(-2);
        // 这里是吧个位数加0,比如1添加一个0后得到01,如果是12加0后事012,但是取数值后两位,得到12
    }, '')
};
// 由于把HTML元素都写到HTML文件里,太过冗余,所以使用for循环添加进去
Index.prototype.creatDom = function () {
    for (var i = 0; i < 6; i++) {
        var oDiv = '<div>' + i + '</div>';
        $(".six").append(oDiv);
    }
    for (var i = 0; i < 10; i++) {
        var iDiv = '<div>' + i + '</div>';
        $(".ten").append(iDiv);
    }
};
 
// 第二个参数,true为24小时制,false为12小时制
new Index($('.column'), true);

js的注释我写的比较全,应该可以看懂

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

javascript实现数字时钟特效

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JavaScript如何实现时钟特效

这篇“JavaScript如何实现时钟特效”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JavaScript如何实现时钟特效
2023-07-02

Android实现时钟特效

本文实例为大家分享了Android实现时钟特效的具体代码,供大家参考,具体内容如下 效果展示:功能介绍: 如果您想换一张背景图,可以点击左下角按按钮切换背景图片。 如果您不想看见右上方的日期,可以点击它,他就会随即隐藏。如果你想 再次查看,
2022-06-06

JavaScript如何实现动态数字时钟

小编给大家分享一下JavaScript如何实现动态数字时钟,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!实现效果代码实现
2023-06-15

JavaScript如何实现动态时钟效果

本篇内容主要讲解“JavaScript如何实现动态时钟效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript如何实现动态时钟效果”吧!配置设计var config={ la
2023-07-02

CSS3+js如何实现简单的时钟特效

小编给大家分享一下CSS3+js如何实现简单的时钟特效,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!什么是csscss是一种用来表现HTML或XML等文件样式的计算机语言,主要是用来设计网页的样式,使网页更加美化。它也是一
2023-06-09

JavaScript+Canvas实现文字粒子流特效

看到大师级的canvas文字粒子动画,要10个jq币才能下载啊,我内心的小鹿蠢蠢欲动,我也要写一个。所以本文就来用Canvas实现简单的文字粒子流特效,希望对大家有所帮助
2023-01-14

JavaScript怎么实现烟花和福字特效

这篇文章主要讲解了“JavaScript怎么实现烟花和福字特效”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript怎么实现烟花和福字特效”吧!超能力一:放烟花先带大家看看实现后
2023-06-26

编程热搜

目录