思路:首先将秒数second转换为day、hour、min、sec字段并以对象形式返回,注意,js中的/不是整除,其会带小数,故需要使用parseInt函数将其转换为整数,注意,牛客测例使用的字段是second,而我函数中为了区分参数second使用的是sec,在ES6中如果对象的key和value相同那么就可以简写即只写一个,此处只要second不能简写。可以遍历data,通过判断其是否大于9来对其补齐0,再获取div,并设置其children对应的内容。
<body>
<div id="jsCountdown">
<span>01天</span>
<span>02:</span>
<span>03:</span>
<span>04</span>
</div>
<script type="text/javascript">
function second(second)
{
//js的/不是整除喔
var day = parseInt(second/60/60/24)
var hour = parseInt((second/60/60)%24)
var min = parseInt((second/60)%60)
var sec = parseInt(second%60)
// 注意 测例是second字段
return {day,hour,min,'second':sec}
}
function render(data)
{
for(var i in data)
{
data[i] = data[i]>9?data[i]:'0'+data[i]
}
var div = document.getElementById('jsCountdown')
if(data.day==='00')
div.children[0].classList.add('hide')
else
div.children[0].innerHTML = data.day + '天'
div.children[1].innerHTML = data.hour + ':'
div.children[2].innerHTML = data.min + ':'
div.children[3].innerHTML = data.second
}
</script>
</body>
总结:classList是获取元素的class属性集合,可以用于在元素中添加(add)、移除(remove)以及切换(toggle) 类class。可以使用children来获取该元素的子元素。



京公网安备 11010502036488号