题解 | #倒计时#

倒计时

https://www.nowcoder.com/practice/d86defce50ea45dd92c7a4fbde17d64b

思路:首先将秒数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来获取该元素的子元素。

#倒计时阶段#
前端js面试 文章被收录于专栏

前端js面试,帮助你更好的理解js。

全部评论

相关推荐

评论
1
收藏
分享
牛客网
牛客企业服务