题解 | #倒计时#

倒计时

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。

全部评论

相关推荐

叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务