嘿伙计我正在处理我的第一个javascript脚本。 它是一个数字时钟。点击不同的按钮,您可以拥有不同城市的时间。 这是我的剧本:
var hourHand = document.getElementById('hourHand');
var minuteHand = document.getElementById('minuteHand');
var secondHand = document.getElementById('secondHand');
function initClock() {
var offset= +5.5;
var d = new Date();
var utc = d.getTime() - (d.getTimezoneOffset() * 60000);
var nd = new Date(utc + (3600000 * offset ));
var date = nd;
var hour = date.getHours() % 12; // 0 - 23
var minute = date.getMinutes();
var second = date.getSeconds();
var hourDeg = (hour * 30) + (0.5 * minute); // every hour, 30 deg. 30 / 60
var minuteDeg = (minute * 6) + (0.1 * second); // every minute, 6 deg. 6 / 60
var secondDeg = second * 6; // 360 / 60
hourHand.style.transform = 'rotate(' + hourDeg + 'deg)';
minuteHand.style.transform = 'rotate(' + minuteDeg + 'deg)';
secondHand.style.transform = 'rotate(' + secondDeg + 'deg)';
setTimeout(initClock, 1000);
};
initClock();
它以这种方式工作,但是如果我尝试将偏移设置为参数而不是变量,那么手会改变它们的位置,但它们不像以前那样每秒移动一次。有人能帮我吗?很抱歉,如果这可能是一个愚蠢的问题,但我刚刚开始使用javascript:)
var hourHand = document.getElementById('hourHand');
var minuteHand = document.getElementById('minuteHand');
var secondHand = document.getElementById('secondHand');
function initClock(offset) {
var d = new Date();
var utc = d.getTime() - (d.getTimezoneOffset() * 60000);
var nd = new Date(utc + (3600000 * offset ));
var date = nd;
var hour = date.getHours() % 12; // 0 - 23
var minute = date.getMinutes();
var second = date.getSeconds();
var hourDeg = (hour * 30) + (0.5 * minute); // every hour, 30 deg. 30 / 60
var minuteDeg = (minute * 6) + (0.1 * second); // every minute, 6 deg. 6 / 60
var secondDeg = second * 6; // 360 / 60
hourHand.style.transform = 'rotate(' + hourDeg + 'deg)';
minuteHand.style.transform = 'rotate(' + minuteDeg + 'deg)';
secondHand.style.transform = 'rotate(' + secondDeg + 'deg)';
setTimeout(initClock, 1000);
};
initClock(+5.5);