问题描述
- js 中 Date.now()相减会出现 NaN 的问题,求教
-
首先js代码如下
setTimeout(function() {
var a = 0,wdw1;
$($(".yscroll_list_left li")[0]).clone(!0).insertAfter($($(".yscroll_list_left li")[$(".yscroll_list_left li").length - 1]));
var len = $(".yscroll_list_left li").length;
b();
var old = Date.now();
function b() {
a -= 44;
if(a >= 44 * -(len - 2) ){
console.log("1_1",a,Date.now()-old);
$(".yscroll_list_left").animate({marginTop: a}, 2000);
console.log("1_2",a,Date.now()-old);
}
else{
$(".yscroll_list_left").animate({marginTop: a}, 2000, function() {
a = 0;
$(".yscroll_list_left").css({
marginTop: 0
})
});
}
wdw1 = setTimeout(b,3000);
}
}, 0);
在chrome中执行结果如下
test.html:42 1_1 -44 NaN
test.html:44 1_2 -44 NaN
test.html:42 1_1 -88 3001
test.html:44 1_2 -88 3003
test.html:42 1_1 -132 6003
test.html:44 1_2 -132 6004
test.html:42 1_1 -176 9004
test.html:44 1_2 -176 9005
上边的是一个不断循环重复的结果,只是以后的 -44后边的内容不再是NaN,而是具体数字了。
想不明白为什么Date.now()-old会得出NaN,如果是因为数太小的话,那么单独像下面一样
var old = Date.now();
console.log(Date.now() - old);
上述代码会输出 0 或者是 1,而非NaN
另外,在火狐上测试,结果和chrome一样,也是前两个 -44 后边为NaN,而以后的 -44后边就变为数字
上边的只是JS代码,下边是完整的代码,可以执行的
<!DOCTYPE html>#yscroll_list{
height:16px;
overflow:hidden;
}
#yscroll_listin{
position:relative;
overflow:hidden;
}
#yscroll_listin ul {
position:relative;
margin-left:50px;
}window.onload = function(){
setTimeout(function() {
var a = 0,wdw1;
$($(".yscroll_list_left li")[0]).clone(!0).insertAfter($($(".yscroll_list_left li")[$(".yscroll_list_left li").length - 1]));
var len = $(".yscroll_list_left li").length;
b();
var old = Date.now();
function b() {
a -= 44;
if(a >= 44 * -(len - 2) ){
console.log("1_1",a,Date.now()-old);
$(".yscroll_list_left").animate({marginTop: a}, 500);
console.log("1_2",a,Date.now()-old);
}
else{
$(".yscroll_list_left").animate({marginTop: a}, 500, function() {
a = 0;
$(".yscroll_list_left").css({
marginTop: 0
})
});
}
wdw1 = setTimeout(b,1000);
}
}, 0);
}- 111
- 222
- 333
- 444
- 555
解决方案
<script language="javascript" type="text/javascript">
function DateDiff(sDate1,sDate2){
//sDate1和sDate2是年-月-日格式
var arrDate,objDate1,objDate2,intDays;
arrDate=sDate1.split("-");
objDate1=new Date(arrDate[1]+'-'+arrDate[2]+'-'+arrDate[0]);//转换为月-日-年格式
arrDate=sDate2.split("-");
objDate2=new Date(arrDate[1] + '-'+arrDate[2]+'-'+arrDate[0]);
intDays=parseInt(Math.abs(objDate1-objDate2)/1000/60/60/24); //把相差的毫秒数转换为天数
return intDays;
}
alert(DateDiff("2007-1-1","2008-1-1"));
</script>
相关文章
- js 中 Date.now()相减会出现 NaN 的问题,求教
【云栖快讯】他,一路保送,但可能不是你想象中的学霸; 他,曾是微软最年轻的技术管理者,挑战带领跨国团队; 他,后来加入阿里,成为阿里西雅图分部的第22名员工; 他,就是阿里通用计算平台负责人关涛! 通过短视频,为你揭晓他的成长和开发计算平台的经历,以及他对未来的展望! 详情请点击
热门推荐
- 高性能云服务器2折起
- 云服务器配置
- 技术资料
- 云计算
- 域名
- shell
- node.js
- 问答
- java
- mysql
- C++
- python
- jQuery
- Android
- asp
- PHP技巧
- jQuery教程
- JavaScript技巧
- JS
- SEO
- sql server
- mysql教程
- 前端
- 技术文集
- 技术
- 主题地图
- A
- z
- 云服务器哪家好
- API
- 大数据
- 云安全
- 云存储
- 云计算
- 获取公众号授权失败
- 兼容性疑难解答
- path
- stm32
- jsonobject
- product
前三篇
- android-关于共用studio和eclipse的问题
- [JKDictionary text]未知方法
- JAVA非法字符解决不了
后三篇
- 【新人提问】如何将eclipse中的package导出为一个bundle
- 数组对象使用构造函数初始化的问题
- 文本框的内容怎么自动发送到手机上的微信软件中?
(yq.aliyun.com)为您免费提供js 中 Date.now()相减会出现 NaN 的问题,求教相关信息,包括
date相减,oracle date相减,java date相减,两个date相减,mysql date相减的信息
,所有js 中 Date.now()相减会出现 NaN 的问题,求教相关内容均不代表的意见!
该页面h5页面的地址是:https://m.aliyun.com/yunqi/wenzhang/show_857,您可以点击js 中 Date.now()相减会出现 NaN 的问题,求教-手机站访问。
- 推荐产品
云数据库RDS
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
立即查看
云服务器9.9元 限时抢购
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
9.9元 立即购买
云服务器ECS
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
立即查看
开发者软件
开发者常用软件,超百款实用软件一站式提供
立即查看
-
社区推荐
更多>
- 好东西来了!2017云栖大会400+份重磅资料下载
- 叮咚!您有一份2017杭州云栖大会参会指南待签收【持续更...
- 重磅发布背后:POLARDB的中国故事
- 传统应用层逻辑分库DB迁移阿里云DRDS+RDS分布式数...
- 海量用户实时定位和圈人 - 团圆社会公益系统(位置寻人\...
- 京颐CTO宋建康:如何应对系统高度分化异构的挑战,打造不...
- 经典网络迁移VPC最佳实践
- 揭秘IPHONE X刷脸认证的技术奥秘
- 5大场景护航企业成长,实例解析阿里云适应性网络架构
- 专访阿里云异构计算负责人:异构计算,GPU、FPGA、A...
-
看了此文的人还看了
- EXTJS中,fieldset自带的checkbox如何...
- 微信微商城 wemall
- 现在有个intellij-idea的项目想移植到Myce...
- 高手看看 急得很 水晶报表动态加载显示的问题
- 生成可执行jar文件时运行时出现could not fi...
- 寻找高手帮忙 MyEclipse无法启动
- 急!!!!急!!!!!急!!!!!C#后台获取的json...
- highcharts曲线图中间有个断点,如何连接上
- usb语音盒的二次开发
- 用LitJson怎么输出这样格式的Json字符串
热门活动更多>
- 云服务器9.9元抢购
6款产品 6个月免费体验
查看详情>
- 搭建网站/应用首选
轻量应用服务器 45元/月
查看详情>
- 全新云服务器限时2折起
I/O优化,独享IP,性能提升20%
查看详情>
热点导航
- 高性能云服务器2折起
- 域名查询
- 网站域名whois查询
- 云计算
- 网站服务器价格
- 域名注册
- bootstrap table
- MySQL三节点
- MySQL读写分离
- 技术资料
- 阿里云邀请码
- product
- cfbundleidentifier报错
- echarts地图json数据
- webstorm开发javaweb
- 社区
- 技术
- 滚动条
- mysql upgrade
- ie浏览器不加载样式
- c primer 第五版
- java实现opc client
- post请求
- 支付宝同步和异步通知
- product1
- 三合一云商城建设
- 软件安装环境配置
- 技术
- 钉钉收费
- 问答
- 数据算法竞赛