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

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

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

jquery点击文本框弹出时间选择器代码

一个轻量级的几点几分选择器组件,分别点击H小时或M分钟,可快速选择,还可以点击上下箭头进行递增。
  日期时间
 107  

jquery可自定义的倒计时插件

一个简单的、可自定义的倒计时插件,可设定开始日期及结束日期,以及时区。
  日期时间
 123  

jquery自动转换显示可读时间插件

在指定标签内设定一个值,自动显示可读性较强的时间文字,非常nice~
  日期时间
 156  

jquery文本框可手动输入可弹出框点选的日期时间选择器插件

一款input文本框日期选择器特效,可以手动分段输入,还可以点选右侧按钮,触发日期时间弹出层选择。
  日期时间
 141  

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

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