这不是像基思伍德这样的40Kb解决办法。 但是,经过5个小时的手法,我提出了这一非常多变的解决办法:
<script type= text/javascript src= jquery-1.5.1.min.js ></script>
<script type= text/javascript >
function countDown(eventID) {
var $this, h, m, s;
$this = $( #event +eventID);
s = parseInt($this.text().substr(6),10);
m = parseInt($this.text().substr(3,5),10);
h = parseInt($this.text().substr(0,2),10);
s--;
m = (s < 0) ? --m : m;
h = (m < 0) ? --h : h;
if (h < 0) {
$this.css( display , none );
$this.parent().slideUp( slow );
$this.parent().remove();
}
s = (s < 0) ? 59 : s;
m = (m < 0) ? 59 : m;
$this.text(((h < 10) ? 0 +h : h)+ : +((m < 10) ? 0 +m : m)+ : +((s < 10) ? 0 +s : s));
setTimeout( countDown( +eventID+ ) ,1000);
$( .counter ).first().show();
}
$(document).ready( function() {
var eventID = 0;
$( #nextEvents div ).each( function () {
var nextEventH = parseInt($(this).text().substring(0,2),10);
var nextEventM = parseInt($(this).text().substring(3,5),10);
var nextEventS = $(this).text().substring(5,7);
nextEventH = (nextEventS === PM ) ? nextEventH + 12 : nextEventH;
nextEventS = 0;
var curTime = new Date();
//curTime = curTime.getHours()+ : +curTime.getMinutes()+ : +curTime.getSeconds();
nextEventH = Math.abs(nextEventH - curTime.getHours());
nextEventH = (nextEventH < 10) ? 0 +nextEventH : nextEventH;
nextEventM = Math.abs(nextEventM - curTime.getMinutes());
nextEventM = (nextEventM < 10) ? 0 +nextEventM : nextEventM;
nextEventS = Math.abs(nextEventS - curTime.getSeconds());
nextEventS = (nextEventS < 10) ? 0 +nextEventS : nextEventS;
$(this).append("<div class= counter id= event"+eventID+" style= display:none; "+
"position:absolute; top:0; right:0; width:auto; height:auto; color:red; >"+
nextEventH + : + nextEventM + : + nextEventS+"</div>");
countDown(eventID);
eventID++;
});
});
</script>
</head>
<body>
<div id= wrapper style= position:relative; width:600px; height:400px; background-color:#366; color:#EEE; >
<div id= nextEvents >
<div style= position:relative; width:100%; display:block; >05:12AM - Meeting with department heads</div>
<div style= position:relative; width:100%; display:block; >05:13AM - Meeting with Department of Finances</div>
<div style= position:relative; width:100%; display;block; >05:14AM - Meeting with Human Resources</div>
</div>
</div>