Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript cal heatmap onclick on day,滚动至周';s部分_Javascript_Jquery_Html_D3.js_Cal Heatmap - Fatal编程技术网

Javascript cal heatmap onclick on day,滚动至周';s部分

Javascript cal heatmap onclick on day,滚动至周';s部分,javascript,jquery,html,d3.js,cal-heatmap,Javascript,Jquery,Html,D3.js,Cal Heatmap,所以,我有一个cal热图日历。它显示2016年12月至2017年11月的数据 在同一页上,我有分为不同部分的文本 以下是一节的代码: <h3 class="sectiontitle" id="week1" style="clear:both;">Week 1</h3> <div class="divider"></div> <p>Lorem ipsum dolor sit amet, consectetur adipiscing eli

所以,我有一个cal热图日历。它显示2016年12月至2017年11月的数据

在同一页上,我有分为不同部分的文本

以下是一节的代码:

<h3 class="sectiontitle" id="week1" style="clear:both;">Week 1</h3>
<div class="divider"></div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
第一周
Lorem ipsum dolor sit amet,是一位杰出的献身者

2016年12月至2017年11月,每周有一节

我想要的是在加州大学热图日点击一下,它会滚动到相应的部分

比如说,

  • 单击2016年12月3日,它将链接到第1周
  • 单击2016年12月4日,它将链接到第1周
  • 单击2016年12月10日,它将链接到第2周
  • 点击2016年12月28日,它将链接到第5周
根据,我应该使用onClick(date,value)函数。但是,我不知道如何将给定的日期更改为周数

请注意,给出的日期格式为:“2000年1月4日星期二17:00:00 GMT+0800(中国标准时间)”,而不是时间戳格式


那么,我怎样才能做到这一点呢?谢谢我希望我已经解释清楚了。

多亏了@iMatoria,我才找到了答案

var week = Math.ceil(((date.getTime() / 1000 - 1480435200) / 86400 - 4) / 7 + 1);
这将给出自第一天起的周数。其中“1480435200”是指2016年11月31日


工作示例:

如果12月1日是星期四,是否算作第一周。或者更确切地说,您的第一周是从12月5日开始的,也就是星期一?@iMatoria将12月5日作为第一周的开始也可以。我只是不知道如何从给定的日期获取周数。您需要编写一个助手函数,该函数将接受一个日期,并且您需要首先获取该日期的日期。根据日期,你们应该在那个日期加上天数,使之成为星期一。现在把它除以7得到周数。@iMatoria我明白了。是否可以将“2000年1月4日星期二17:00:00 GMT+0800(中国标准时间)”更改为时间戳?如果评论有帮助,您可以单击开头的图标为其加1。