js响应式全屏桌面在线时钟代码

所属分类: 网页特效-日期时间    2023-12-10 11:23:01

 31.7K  3  查看评论 (0)
js响应式全屏桌面在线时钟代码 ie兼容6
 查看演示  登录后下载 温馨提示
登录会员即可享受免费下载
 我要建站

js响应式全屏桌面在线时钟代码(共1个文件)

    • index.html

使用方法

var clock = document.querySelector('#utility-clock')
utilityClock(clock)
if (clock.parentNode.classList.contains('fill')) autoResize(clock, 295 + 32)

function utilityClock(container) {
	var dynamic = container.querySelector('.dynamic')
	var hourElement = container.querySelector('.hour')
	var minuteElement = container.querySelector('.minute')
	var secondElement = container.querySelector('.second')
	var minute = function(n) {
		return n % 5 == 0 ? minuteText(n) : minuteLine(n)
	}
	var minuteText = function(n) {
		var element = document.createElement('div')
		element.className = 'minute-text'
		element.innerHTML = (n < 10 ? '0' : '') + n
		position(element, n / 60, 135)
		dynamic.appendChild(element)
	}
	var minuteLine = function(n) {
		var anchor = document.createElement('div')
		anchor.className = 'anchor'
		var element = document.createElement('div')
		element.className = 'element minute-line'
		rotate(anchor, n)
		anchor.appendChild(element)
		dynamic.appendChild(anchor)
	}
	var hour = function(n) {
		var element = document.createElement('div')
		element.className = 'hour-text hour-' + n
		element.innerHTML = n
		position(element, n / 12, 105)
		dynamic.appendChild(element)
	}
	var position = function(element, phase, r) {
		var theta = phase * 2 * Math.PI
		element.style.top = (-r * Math.cos(theta)).toFixed(1) + 'px'
		element.style.left = (r * Math.sin(theta)).toFixed(1) + 'px'
	}
	var rotate = function(element, second) {
		element.style.transform = element.style.webkitTransform = 'rotate(' + (second * 6) + 'deg)'
	}
	var animate = function() {
		var now = new Date()
		var time = now.getHours() * 3600 +
			now.getMinutes() * 60 +
			now.getSeconds() * 1 +
			now.getMilliseconds() / 1000
		rotate(secondElement, time)
		rotate(minuteElement, time / 60)
		rotate(hourElement, time / 60 / 12)
		requestAnimationFrame(animate)
	}
	for (var i = 1; i <= 60; i++) minute(i)
	for (var i = 1; i <= 12; i++) hour(i)
	animate()
}

function autoResize(element, nativeSize) {
	var update = function() {
		var scale = Math.min(window.innerWidth, window.innerHeight) / nativeSize
		element.style.transform = element.style.webkitTransform = 'scale(' + scale.toFixed(3) + ')'
	}
	update()
	window.addEventListener('resize', update)
}

站长提示:
1. 苦力吧素材官方QQ群:950875342
2. 平台上所有素材资源,需注册登录会员方能正常下载。
3. 会员用户积极反馈网站、素材资源BUG或错误问题,每次奖励2K币
4. PHP源码类素材,如需协助安装调试,或你有二次开发需求,可联系苦力吧客服。
5. 付费素材资源,需充值后方能下载,如有任何疑问可直接联系苦力吧客服
相关资源 / 日期时间

jquery弹出层时间选择器插件

timeDurationPicker是基于jQuery UI编写的时间选择器,可选择年、月、天、小时、分钟和秒,并赋值显示到DIV元素上。
  日期时间
 2704  0

CSS日期带背景图片效果的日历事件布局代码

一款响应式事件日历布局代码,每个日期可设置特定的背景图片,鼠标悬停日期上显示当日的活动文本文字。
  日期时间
 8606  0

像素方块数字时钟CSS3特效代码

一款像素方块堆砌的时钟特效,单色的像素方块会跟随秒数进行填充,当把小时和分钟的数字方块填充完之后,刚好是60秒,非常的有趣!
  日期时间
 61599  0

jquery网页在线时分秒计时器插件

一个轻量级计时器(也称为秒表)插件,带防刷新功能,把当前操作记录到cookies中。
  日期时间
 2866  0

评论数(0) 回复有机会获得K币 用户协议

^_^ 还没有人评论,快来抢个沙发!
😀
  • 😀
  • 😊
  • 😂
  • 😍
  • 😑
  • 😷
  • 😵
  • 😛
  • 😣
  • 😱
  • 😋
  • 😎
  • 😵
  • 😕
  • 😶
  • 😚
  • 😜
  • 😭
发表评论