87,915
社区成员
发帖
与我相关
我的任务
分享
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script src="whenReady.js"></script>
<script>
whenReady(function(){
var elt = document.getElementById("clock");
var icon = new Image();
icon.src = "clock.png";
function displayTime(){
var now = new Date();
var hrs = now.getHours();
var mins = now.getMinutes();
if (mins < 10)
{
mins = "0" + mins;
}
elt.innerHTML = hrs + ":" + mins;
setTimeout(displayTime,60000);
}
displayTime();
elt.draggable = true;
elt.ondragstart = function(event){
var event = event || window.event;
var dt = event.dataTransfer;
dt.setData("Text",Date() + "\n");
if (dt.setDragImage)
{
dt.setDragImage(icon,0,0);
}
};
});
</script>
<style>
#clock{
font: bold 24pt sans;
background: #ddf;
border: solid black 2px;
padding: 10px;
border-radius: 10px;
}
</style>
</head>
<body>
<h1>从时钟中拖出时间戳</h1>
<span id = "clock"></span>
<textarea cols=60 rows=20></textarea>
</body>
</html>
/*
*传递函数给whenready(),当文档解析完毕且为操作住呢比就绪时,
*函数将作为文档对象的方法调用
*DOMContentLoaded、readystatechange或load时间发生时会触发注册函数
*一旦文档准备就绪,所有函数都将被调用,任何传递给whenReady()的函数都将立即调用
*
*
*
*/
var whenReady = (function(){
var funcs = [];
var ready = false;
function handler(e){
if (ready)
{
return;
}
if (e.typee === "readystatechange" && document.readyState !== "complete")
{
return;
}
for (var i = 0;i < funcs.length ;i++ )
{
funcs[i].call(document);
}
ready = true;
funcs = null;
}
if (document.addEventListenner)
{
document.addEventListenner("DOMContentLoaded",handler,false);
document.addEventListenner("readystatechange",handler,false);
window.addEventListenner("load",handler,false);
}
else if (document.attachEvent)
{
document.attachEvent("onreadystatechange",handler);
window.attachEvent("onload",handler);
}
return function whenReady(f){
if (ready)
{
f.call(document);
}
else funcs.push(f);
}
}());