修改脚本以在上午/下午前后包含 DIV
Modify Script to Include DIV around AM/PM
如何修改此脚本以将 AM/PM 文本包含在div 中?
我已经尝试修改它使用div 输出 ampm 的区域,但它没有将元素放在div 中,而是将 and 标签显示为明文。
function myTime() {
var dst = 0; // set to 1 for daylight savings time
// update this as you go on and off daylight saving time
var loc = ''; // set to your location
var mtz = -5; // set to your local timezone (hours ahead of UTC, negative if behind)
var stdz = ''; // standard time indicator
var dayz = ''; // daylight saving time indicator (blank if you dont have daylight saving)
var showDate = 0; // 0 = don't show, 1 = international format, 2 = US format
// do not alter anything below this line
var newP = document.createElement("div"); var txt = '' + loc + ' '; var newT = document.createTextNode(txt); newP.appendChild(newT); var newP2 = document.createElement("div"); newP2.id = 'time'; var txt2 = setDsp(mtz,dst,stdz,dayz,showDate); var newT2 = document.createTextNode(txt2); newP2.appendChild(newT2); var frag = document.createDocumentFragment(); frag.appendChild(newP); frag.appendChild(newP2); var d2 = document.getElementById('datetime'); d2.parentNode.replaceChild(frag,d2);
setTimeout('updDsp('+mtz+',' +dst+',"' +stdz+'","' +dayz+'","'+showDate+'")', 5000);}
var pageLoaded = 0; window.onload = function() {pageLoaded = 1;}
function loaded(i,f) {if (document.getElementById && document.getElementById(i) != null) f(); else if (!pageLoaded) setTimeout('loaded('''+i+''','+f+')',100);
}
function updDsp(mtz,dst,stdz,dayz,showDate) {var obj = document.getElementById('time'); obj.firstChild.data = setDsp(mtz,dst,stdz,dayz,showDate); setTimeout('updDsp('+mtz+ ','+dst+ ',"'+stdz+ '","'+dayz+ '","'+showDate+'")', 5000);}
function setDsp(mtz,dst,stdz,dayz,showDate) {var dayname = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday','Friday', 'Saturday']; var month = ['January','February','March','April','May','June','July','August','September','October','November','December']; var now = new Date; now.setUTCMinutes(now.getUTCMinutes() + (mtz + dst)*60); var dow = now.getUTCDay(); var minute = now.getUTCMinutes();
var hour = now.getUTCHours(); if (hour > 11) {ampm = 'PM'; hour -= 12;} else {ampm = 'AM'} if (hour == 0) {hour = 12;} if (minute < 10) {pad = ':0';} else {pad = ':';} var txt = hour + pad + minute + ' ' + '' + ampm + ''; if (dst) txt += dayz; else txt += stdz; txt += ' '
if (showDate == 1) txt += ' ' + now.getUTCDate() + ' ' + month[now.getUTCMonth()] + ', ' + now.getUTCFullYear();
if (showDate == 2) txt += ' ' + month[now.getUTCMonth()] +' ' + now.getUTCDate() + ', ' + now.getUTCFullYear();
return (txt);
}
loaded('datetime',myTime);
你的代码太复杂了。 我建议用这个只构建 HTML 而不是创建所有各种文本节点的函数替换 myTime()
函数。 这也将 AM 或 PM 指定放在一个<span class="ampm">
中,以便可以适当地设置其样式:
function myTime() {
var dst = 0; // set to 1 for daylight savings time
// update this as you go on and off daylight saving time
var loc = ''; // set to your location
var mtz = -5; // set to your local timezone (hours ahead of UTC, negative if behind)
var stdz = ''; // standard time indicator
var dayz = ''; // daylight saving time indicator (blank if you dont have daylight saving)
var showDate = 0; // 0 = don't show, 1 = international format, 2 = US format
var timeStr = setDsp(mtz, dst, stdz, dayz, showDate);
timeStr = timeStr.replace(/AM|PM/i, '<span class="ampm">$&</span>');
var d = document.getElementById('datetime');
d.innerHTML = '<div id="time">' + loc + " " + timeStr + '</div>';
setTimeout(myTime, 500);
}
这是一个工作版本:http://jsfiddle.net/jfriend00/jTbf2/
相关文章:
- 如果Div包含精确文本,则添加类
- 获取包含单击链接的DIV的文本
- 如何获取并返回包含Id的Div
- 如何将来自外部 PHP 页面的内容包含在带有 onlick 事件的 DIV 中
- JQuery if 语句基于在文本中包含特定字符串将数据追加到相应的 DIV
- 覆盖在“背景大小:包含”上的响应式 DIV - 解决警报触发的问题
- 如果 DIV 包含选中的复选框,则将显示设置为阻止
- 背景轮播,用于在幻灯片图像中包含 DIV
- 修改脚本以在上午/下午前后包含 DIV
- 重置表单,但包含在 DIV 中的输入除外
- 通过混合输入值,在 DIV 内制作一个包含输入的矩阵
- 重新加载仅包含脚本的 DIV,然后执行脚本
- 重新加载包含DB值的DIV
- 打印包含动态图像的Div
- 如何显示与其他人一起包含的选择的隐藏DIV
- 包含注册表单的Div在我单击提交后消失
- 如何将我创建的DIV包含在另一个DIV中?
- 隐藏DIV,如果它包含特定的文本
- 当拖动包含数千个子节点的Div元素时,提高浏览器性能
- 包含DIV到“;封面“;包含元素